2011-09-19 67 views
0

我試圖編寫一個腳本,檢查第二個文本字段是否與第一個字段中的數據相同。當用戶輸入第二個文本時場地劇本不斷告訴他他是否正確。如果他立刻犯了錯誤,劇本通過設置label等於「電子郵件不匹配」指出。同時檢查用戶輸入的文本字段

布我直到現在還沒有成功。

腳本:

window.onload = startChecker; 

function startChecker() { 
//while(true) { 
    if(document.getElementById("first_field").value != "") { 
     var idFromFirstField = document.getElementById("first_field").value; 
      if(idFromFirstField != document.getElementById("second_field").value) { 
       document.getElementById("alert_message").value = "Incorrect Email ! "; 
      } else { 
       document.getElementById("alert_message").innerHTML = "Two emails match !"; 
      } 
    } 
//} 
} 

如果這是一個HTML文件:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<script type="text/javascript" src="cross_checker.js"> 
</script> 
<title>Untitled Document</title> 
</head> 

<body> 
<form> 
<label>Email<input type="text" id="first_field" /></label> <br /> <br /> 
<label>Verify your Email<input type="text" id="second_field" /></label> &nbsp;&nbsp; 
<label id="alert_message" value="" style="color:#CC0000"></label> 
<!--the above label outputs if the user is entering the same id !---> 
<br /> <br /> 
<input type="submit" value="submit" style="color:#CC0000"/> 
</form> 
</body> 
</html> 

前,我試圖用一個無限while循環,但掛在瀏覽器有時瀏覽器會將獲取的頁。

我該如何改進這個腳本,以便能夠即時檢查用戶是否正確或錯誤?

回答

2

向輸入元素添加一個鍵控處理程序。在HTML代碼中,添加onkeyup="startChecker();"

使用JavaScript,您可以動態地分配事件處理程序,以這樣的方式

if(window.addEventListener) element.addEventListener("keyup", startChecker, true); //All major browsers 
else if(window.attachEvent) element.attachEvent("onkeyup", startChecker); 
else element.onkeyup = startChecker; 
//Where element refers to the HTML element.