2017-10-21 24 views
-1

Donc, je concatène en utilisant une variable et il imprime seulement indéfini. J'ai cherché des heures pour la solution et n'ai pas trouvé la raison la plus proche de cette question jQuery "undefined" prints when appending to html element mais les solutions données n'ont toujours pas fonctionné.jQuery "indéfini" imprime lorsque .html(). Show() est utilisé

S'il vous plaît aider et expliquer afin que je puisse apprendre et comprendre. merci. mon code ci-dessous.

$(document).ready(function(){ 
var nam=""; 
$("#sayHello").click(function(){ 
    nam = $("textBox1").val(); 
    if(nam != ""){ 
     $("#welcome").html("<p>Hello "+ nam +"</p>").show; 
    } 
    ;}); 


}); 

c'est mon jquery/javascript et voici mon html

<body> 
<div id="container"> 
    <div id="inputBox"> 
    Here is my first text box. 
    <input id="textBox1" type="text" value=""/> 

    <button id="sayHello">Submit</button> 
    </div> 

    <div id="welcome"> 
    </div> 

</div> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script type="text/javascript" src="myJQ.js"></script> 
</body> 
+0

La question dont vous parlez est non pertinent, car ils utilisent '+ =' sur un non initialisé variable. Vous ne le faites pas. Dans votre titre, il est dit '.html(). Show()', mais dans votre code '' .html ('...') .show'. Le dernier '.show' ne fait rien s'il n'est pas appelé. – Xufox

+1

vous avez un '#' manquant dans votre sélecteur d'identifiant 'nam = $ (" textBox1 "). Val();', devrait être 'nam = $ (" # textBox1 "). Val();' – am05mhz

+0

@ am05mhz merci toi. J'ai besoin de commencer à utiliser un meilleur IDE qui va attraper de petites choses comme ça. –

Répondre

0

Je modifier votre code essayer

$(document).ready(function(){ 
 
var nam=""; 
 
$("#sayHello").click(function(){ 
 
    nam = $("#textBox1").val(); 
 
    if(nam){ 
 
     $("#welcome").html("Hello "+nam) 
 
    } 
 
    }); 
 

 

 
});
<body> 
 
<div id="container"> 
 
    <div id="inputBox"> 
 
    Here is my first text box. 
 
    <input id="textBox1" type="text"/> 
 

 
    <button id="sayHello">Submit</button> 
 
    </div> 
 

 
    <div id="welcome"> 
 
    </div> 
 

 
</div> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="myJQ.js"></script> 
 
</body>