我正在尝试使用两个单独的 JavaScript 函数验证我的表单:
<form onsubmit="return formCheck(this); return validate_dropdown();"
action="somepage.php"
method="post"
name="something">
当我在提交值上只添加一个时,每个函数都可以单独正常工作,当我添加两个时,只有第一个函数的验证有效,而不是第二个。这里有什么问题?
我正在尝试使用两个单独的 JavaScript 函数验证我的表单:
<form onsubmit="return formCheck(this); return validate_dropdown();"
action="somepage.php"
method="post"
name="something">
当我在提交值上只添加一个时,每个函数都可以单独正常工作,当我添加两个时,只有第一个函数的验证有效,而不是第二个。这里有什么问题?
从 onsubmit 中删除返回并将它们添加到函数中:
onsubmit="return (formCheck(this) && validate_dropdown())"
onsubmit="return (formCheck(this) && validate_dropdown())"
我没有足够的声誉来投票赞成或反对,但我可以向你保证,当有两个回报时,比如:return formCheck(this) && return validate_dropdown();
它需要写成return formCheck(this) && validate_dropdown();
...省略了第二个“返回”。
所以这个帖子上得票最多的回复实际上是错误的,Anax 的 0 票回复(在撰写本文时)解决了我的问题。其他人在 IE 中产生了脚本错误。
您的代码将无法工作,因为一旦formCheck
执行第一个函数 ( ),它将返回一个值,该值将允许或拒绝表单提交。
如果您有两个或多个要同时使用的函数,您可以组合它们的结果或编写一个新函数,该函数将运行您的两个验证函数并返回结果。
方法 A。
<form onsubmit="return (function1(this) && function2(this))">
方法 B。
<script type="text/javascript">
function formValidation(myForm)
{
var result = function1(myForm);
result = result && function2(myForm);
return result;
}
</script>
<form onsubmit="return formValidation(this)">