2017-01-10 163 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

是的,我確定我可以 –

相關問題