我有一个表单,我将其发布到PHP
服务器页面。在我POST
之前,我在客户端进行了一些验证测试,如果一切正常,我会返回true
然后提交开始,如果出现问题,我会返回false
并提交取消。
<form onsubmit="return validateForm()" method="post" action="t5.php">
和验证功能:
function validateForm() {
email = document.getElementById('email').value;
name = document.getElementById('name').value;
if ((name==="")|| (email=="") ) {
document.getElementById('validateError').innerHTML="error text";
return false;
}
else
return true;
};
此逻辑适用于上一个Chrome版本,但在Chrome 19和Firefox上尝试使用此功能并返回false
,但仍然立即执行提交。
任何想法?
答案 0 :(得分:0)
尝试使用preventDefault()
停止表单的设置。
和HTMLFormElement.submit()
。
答案 1 :(得分:0)
试试这个:
Java脚本
function validateForm(e) {
email = document.getElementById('email').value;
name = document.getElementById('name').value;
if ((name=="")|| (email=="") ) {
document.getElementById('validateError').innerHTML="error text";
e.preventDefault();
}
};
<强> HTML 强>
<form onsubmit="validateForm(event)" method="post" action="t5.php">
答案 2 :(得分:0)
而不是在&#34; onsubmit&#34;上调用您的验证功能,您可以在按钮单击时调用类似的功能,如果没有错误,则通过代码提交表单
尝试类似
的内容<form name="testform" id="testform" method="post" action="t5.php">
<input type="text" name="name" id="name"/>
<input type="text" name="email" id="email"/>
<input type="button" name="Submit" value="Submit" onclick="validateSubmitForm();"/>
</form>
validateSubmitForm函数可能有这样的东西
function validateSubmitForm() {
var email = document.getElementById('email').value;
var name = document.getElementById('name').value;
if ((name=="")|| (email=="") ) {
document.getElementById('validateError').innerHTML="error text";
}
else {
document.testform.submit();
}
}