2017-01-10 208 views
1

我不知道我是否遗漏了一些东西,但是这段代码有问题。当我离开输入区域空白时,else部分应该运行,但它不会。有人可以解释我为什么吗?为什么这段代码的其他部分没有运行?

<html> 
<head> 
<script type="text/javascript"> 
</script> 
</head> 
<body> 

<p> Put your name and see what happens. </p> 

<input id="nameinput"> 
<button onclick="myFunction()">Click To See Your Name</button> 
<p id="namedemo"></p> 

<script type="text/javascript"> 

    function myFunction() { 
    if (document.getElementById("nameinput") != "") { 
     var u; 
     u = document.getElementById("nameinput").value; 
     document.getElementById("namedemo").innerHTML = "Your name is " + u; 
    } 

    else { 
     alert("Please fill required field"); 
    } 
} 

</script> 
</body> 
</html> 
+0

'#nameinput'是一个输入元素,它将如何是一个空字符串?将'u'的定义移到'if'之上,并检查'u'而不是元素本身。 – Teemu

+0

您的其他陈述将不会触发,因为您正在比较元素而不是元素的内容。 – Theo

回答

3

你缺少你的语句.value,它应该是

if(document.getElementById("nameinput").value != ""){ 

这里是一个工作演示:https://jsfiddle.net/ku7ubhnL/

希望这有助于!

+0

啊!谢谢!我疯了! –

+0

你能接受吗? :) –

+0

是的,我确定我可以 –

相关问题