我正在尝试调用多个JavaScript函数。 即使我的函数返回false,它也会提交。 我会收到警报消息,但它仍然会提交。
这是我的表单。
<form name="myform" id="myform" action="receipt.html" method="post" onSubmit="return allValidation();">
我正在尝试调用多个JavaScript函数。 即使我的函数返回false,它也会提交。 我会收到警报消息,但它仍然会提交。
这是我的表单。
<form name="myform" id="myform" action="receipt.html" method="post" onSubmit="return allValidation();">
在allValidation
中没有返回任何内容,因此它将继续执行下一个方法。尝试这样做:
function allValidation() {
return validateForm() && selectCountry() && validateEmail();
}
您可以使用多个函数,然后 and
它们的结果来获得最终验证。在所有验证成功的函数中还可以添加 return true
语句。
function allValidation()
{
return (validateForm() && selectCountry() && validateEmail());
}
这是因为您的函数始终返回true,无论validateForm()、selectCountry()和validateEmail()函数返回什么值。
将您的allValidation()函数更改为以下内容:
function allValidation()
{
return validateForm() && selectCountry() && validateEmail();
}
return validateForm() && selectCountry() && validateEmail();
或 return (validateForm() && selectCountry() && validateEmail());
具有完全相同的效果。 - Ciprian Stoicafunction allValidation(){
return validateForm() && selectCountry() && validateEmail();
}