我有一個簡單的註冊表單。只要用戶輸入他的電話號碼並離開文本框(onblur),其他一些字段會自動填充,並使用對PHP腳本的Ajax調用,並且此作品正常工作。現在,我試圖在不同的文本字段上添加另一個onblur()事件,它與ajax調用或填充的字段無關,但是處於相同的形式。但是,當我在java腳本中創建這個函數時,事件不會被觸發。更重要的是,原來的ajax調用也停止工作,即電話號碼字段的onblur事件也不會被解僱(我通過提供一些警報消息來證實這一點)。我被卡住了,因爲我是新手的Web開發人員,這一直是一個煩躁的旅程。所以任何幫助或在正確的方向微調將不勝感激。Java腳本只有一個函數調用有效
我的java腳本代碼與我的HTML代碼位於相同的文件中,即標記之間。當我在相同的腳本標記之間創建兩個函數時,它們都不起作用,但是當我將它們放在單獨的腳本標記中時,第一個函數(電話號碼後面的ajax調用)在模糊上被觸發,但第二個函數不會。點的功能是:vldtnPhNo()和enabtnRegCmplt()。
<script type="text/javascript">
function vldtnPhNo()
{
var xhr;
var dvPhNo = document.getElementById("divPhNo");
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
var FoneNumb = document.getElementById("txtPhNo").value;
xhr.open("POST", "verify.php", true);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xhr.onreadystatechange=function() {
if (xhr.readyState==4 && xhr.status==200) {
document.getElementById("txtRegInv").value = xhr.responseText;
var rstOftheTxt = xhr.responseText;
document.getElementById("txtPhNo").value=rstOftheTxt;
document.getElementById("txtPhPop").value=rstOftheTxt;
}
else
{
document.getElementById("txtPhNo").value='waiting';
document.getElementById("txtPhPop").value='waiting';
}
}
}
xhr.send("txtPhNo=" + FoneNumb);
}
else
{
throw new Error("Ajax is not supported by this browser");
}
}
function enabtnRegCmplt(){
If(txtRegInv.value!="")
{
var UsrNm;
var Psswd;
var RePsw;
var PostBackInfo;
UsrNm = document.getElementById('txtUsrNm');
Psswd = document.getElementById('txtPsw');
RePsw = document.getElementById('txtrePsw');
txtRegInv = document.getElementById('txtRegInv');
If (RePsw.value!="" && Psswd.value!="" && UsrNm.value!="" && RePsw.value==Psswd.value)
{
document.getElementById('btnRegCmplt').disabled="False";
}
else if(UsrNm.value=="")
{
UsrNm.value="Please Enter UserName";
}
else if(Psswd.value=="")
{
Psswd.value="Please Enter Password";
}
else if(RePsw.value=="")
{
RePsw.value="Does not match";
}
}
}
</script>
謝謝Kai和Rahul ....更改我爲小寫做了它......感謝偷窺.....感謝您的幫助! – user3599789