在Submit上调用多个Javascript函数
我正在尝试调用多个JavaScript函数。即使我的函数返回false,它也会提交。我收到了警报消息,但它还是提交了 这是我的表格在Submit上调用多个Javascript函数,javascript,Javascript,我正在尝试调用多个JavaScript函数。即使我的函数返回false,它也会提交。我收到了警报消息,但它还是提交了 这是我的表格 <form name="myform" id="myform" action="receipt.html" method="post" onSubmit="return allValidation();"> 您在allValidation中没有返回任何内容,因此它将继续执行下一个方法。试试这个 function allValidation() {
<form name="myform" id="myform" action="receipt.html" method="post" onSubmit="return allValidation();">
您在
allValidation
中没有返回任何内容,因此它将继续执行下一个方法。试试这个
function allValidation() {
return validateForm() && selectCountry() && validateEmail();
}
这是因为无论什么值返回validateForm()selectCountry()和validateEmail()函数,函数都会返回true 按如下方式更改allValidation()函数:
function allValidation()
{
return validateForm() && selectCountry() && validateEmail();
}
您可以使用多个函数,然后使用
和它们的结果来获得最终验证。并在验证成功的所有函数中添加return true
语句
function allValidation()
{
return (validateForm() && selectCountry() && validateEmail());
}
您没有使用返回值。@SLaks我现在已经编辑了函数。类似的东西?在所有validateForm()
,selectCountry()
,validateEmail()
方法中添加默认的return true
值(作为最后一行)。现在,如果validateForm为true并绕过其他两个函数,则提交return true
应该没有括号。我已经用我的建议修改了你的问题。希望这能解决你的问题。继续努力……太棒了!非常感谢。这绕过了selectCountry()和validateEmail()函数,并在validateForm()有效时提交。@dafyddgj,我不这么认为。。我在Chrome47、Firefox42和IE8上测试了这些代码,它们都能正常工作。Javascript逐个计算函数,从左侧开始,在第一个返回false(如果有)的函数上停止。在这种情况下,allValidation()返回false,实际上,其他函数都被绕过。如果所有函数都返回true,则allValidation()将返回true。因此,使用returnvalidateform()&&selectCountry()&&validateEmail()代码>或返回(validateForm()&&selectCountry()&&validateEmail())代码>具有完全相同的效果。请避免仅使用代码回答。请加上解释。
function allValidation(){
return validateForm() && selectCountry() && validateEmail();
}