0
votes

Avoir un problème de prise d'entrée et de la sortie dans un fichier HTML

essayer d'écrire un programme JS / HTML qui prend le nom de l'utilisateur en tant qu'entrée et sortie "Bonjour, [nom]!" Lorsque vous cliquez sur le bouton.

html: xxx

js: xxx

quand j'essaie de l'exécuter, il génère "Bonjour, null ! " à chaque fois.


2 commentaires

Vous exécutez votre script avant que les éléments cibles ont été créés. Essayez de le déplacer jusqu'à la fin du document, avant l'étiquette du corps de fermeture. De plus, vous devez obtenir la valeur de l'entrée, donc txtname.value pas txtname


fonction Sayhello () {document.write ("Bonjour," + txtname.value + "!"); }


3 Réponses :


0
votes

déplacez-le à la fonction elle-même et ajoutez "valeur": xxx


0 commentaires

0
votes

Votre fonction n'a pas accès à la variable forte> txtname forte>. Vous devriez le déplacer dans la fonction. Vous pouvez également utiliser GetElementyID au lieu d'un sélecteur de requête. Depuis lors, il y avait là, pourquoi ne pas supprimer complètement la variable:

p>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Greeter</title>
</head>

<body>
    <script src="app.js"></script>

    <input id = "txtName" placeholder="Your Name"/>
    <button onclick="sayHello()"> Say Hello </button>
</body>
</html>


0 commentaires

0
votes

Votre code avait 2 problèmes avec elle. One est étendue code> et l'autre correspondant code> code>. xxx pré>

comme la variable code> est initié en utilisant Laissez code>, son étendue code> est limité et non global code>. Utilisez var code> pour le rendre global, il peut donc obtenir l'accès à l'intérieur fonctionner code> aussi. P> xxx pré>

Cette ligne de code est courir dès que la page se charge. Il est donc attribué à l'objet d'entrée car la page est chargée ( et non la valeur em>). Pour imprimer le nom, bien que nous ayons besoin de la valeur de cet objet ( qui est le deuxième point em>) et non l'objet entier lui-même. Nous accédons à sa valeur en utilisant .value code>. P> xxx pré>

définir cette ligne à l'intérieur de la fonction appelée Ça obtiendra null code> Valeur, car il fonctionnera dès que la page Charge de page et NULL code> sera attribuée car aucune entrée code> est là dans la zone d'entrée. p>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Greeter</title>
</head>

<body>
    <script src="app.js"></script>

    <input id = "txtName" placeholder="Your Name"/>
    <button onclick="sayHello()"> Say Hello </button>
</body>
</html>


0 commentaires