2015-12-02 99 views
0

有人可以告訴我爲什麼我的代碼不工作嗎? 我收到錯誤:無法讀取null的屬性'值'。文本輸入驗證功能Javascript

這是我的html代碼:

<body onLoad="init()"> 
<input type="text" placeholder="User Name" id="id_inputuser"></input> 
<label>Please Enter User Name</label><br> 
<input type="text" placeholder="Password"id="id_inputpass"></input> 
<label>Please Enter Password</label><br><br> 

<button onClick="verify()">Enter</button> 
</body> 

這是JS:

function init() 
{ 
var user= document.getElementById("id_inputuser").value; 
function verify() 
{if (user=="david") 
{alert("working")} 

else{alert("not working")}; 
}} 

任何幫助將不勝感激:) 非常感謝!

+0

被調用_JavaScript_什麼時候?當時是否存在''_Element_? –

+0

把'var user = document.getElementById(「id_inputuser」).value;'放入你的函數中。另外,輸入是自閉的。 – j08691

+0

謝謝@ j08691,但現在我得到的錯誤:意外的令牌var 登錄和init未定義。 我有一個onload函數caled init,並且驗證函數在裏面。 – user3185970

回答

0
  1. 確保您發佈的javascript代碼段是在相關HTML之後定義的。
  2. var input...行移入verify()函數內。

例如

<input type="text" id="username" /> 

<script> 
function checkUsername() { 
    var value = document.getElementByid('username').value; 

    alert(value ? 'Valid' : 'Empty'); 
} 

document.getElementById('username').addEventListener('change', checkUsername); 

</script> 
1

如果你說這是完整的代碼,那麼這是工作

<!DOCTYPE html> 
<html> 
<body> 

<input type="text" placeholder="User Name" id="id_inputuser"></input> 
<label>Please Enter User Name</label><br> 
<input type="text" placeholder="Password"id="id_inputpass"></input> 
<label>Please Enter Password</label><br><br> 

<button onClick="verify()">Enter</button> 

<script> 

function verify() 
{ 
var user= document.getElementById("id_inputuser").value; 
if (user=="david") 
{alert("working")} 

else{alert("not working")}; 
} 
</script> 

</body> 
</html>