0
我正在使用JavaScript驗證進行註冊表單。窗體onsmitmit javascript無效
<form name="registration" method="post" onsubmit="return validate_registration()">
<input id="username" type="text" name="username" value="<?php echo @$_POST['username'];?>" onblur="checkUsername(this.value)">
<span id="e_username" style="display: none; color: #c00;"><?php echo _("Some error");?></span>
<input type="submit" name="register_frm_smbt" value="<?php echo _("Submit");?>">
</form>
的Javascript:
<script type="text/javascript">
function checkUsername(login){
reg = /^[\w]{1}+[\w\.\d-_]{1,}$/i;
if (login.length < 3 || !login.match(reg)) {
document.getElementById("e_username").style.display = "inline";
return false;
}
else {
document.getElementById("e_username").style.display = "none";
return true;
}
}
function validate_registration(){
var username = document.getElementById("username").value;
alert(username); // works
if (checkUsername(username)){
alert("OK!"); //never
return true;
}
else {
alert("NOT OK!"); //never
return false;
}
}
</script>
所以checkUsername(login)
工作正常 「的onblur」,同時填寫表格。但validate_registration()
沒有。使用用戶名創建第一條警報,但都不是「OK!」或「不行!」正在警覺。這是爲什麼?
作爲一個文體的意見,當你從一個'if'語句返回,使用'其他「是無關的。只要刪除它,代碼將變得更清晰。 –