0
你能幫我嗎,當驗證失敗時,我的腳本應該取消隱藏p標籤中的錯誤信息,並返回false,而是我的表單提交。你能看到我的問題在哪裏嗎?JavaScript返回false表單驗證不起作用
function validate() {
if (document.emailForm.EMAIL_ADDRESS_.value.length==0) {
$('#errorNoAddress').fadeIn();
return false;
}
if (document.emailForm.EMAIL_ADDRESS_.value.length>0) {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.emailForm.email.value;
if(reg.test(address) == false) {
$('#errorInvalidAddress').fadeIn();
return false;
}
}
document.emailForm.submit();
return true;
}
<form id="emailForm" name="emailForm" action="http://domain.com/formhandler.php" method="post">
<p id="errorNoAddress" class="error">Please enter an e-mail address.</p>
<p id="errorInvalidAddress" class="error">Please enter a valid email address.</p>
<label for="EMAIL_ADDRESS_">E-mail</label>
<input type="hidden" id="QUICK_SIGN_UP" name="QUICK_SIGN_UP" value="" />
<input type="image" src="btn-submit.gif" value="Submit" onclick="validate();" />
</form>
你通過點擊返回或通過單擊按鈕「提交」的形式?導致你只能點擊按鈕,點擊返回仍然會直接提交表單。 編輯:哦,你不應該在提交後返回true,因爲一些瀏覽器可能認爲你的腳本仍然在做某些事情。 – nonchip 2012-03-14 15:06:54
您點擊按鈕提交,但潛在用戶也將返回。 – 2012-03-14 15:39:22
如果在輸入錯誤的電子郵件並單擊按鈕後提交,您的支票無法正常工作。如果它在按回車之後(總是)提交,則必須攔截「form.onSubmit」事件。 – nonchip 2012-03-14 15:46:46