2

我正在尝试使用两个单独的 JavaScript 函数验证我的表单:

<form onsubmit="return formCheck(this); return validate_dropdown();"  
      action="somepage.php" 
      method="post" 
      name="something">

当我在提交值上只添加一个时,每个函数都可以单独正常工作,当我添加两个时,只有第一个函数的验证有效,而不是第二个。这里有什么问题?

4

4 回答 4

4

从 onsubmit 中删除返回并将它们添加到函数中:

onsubmit="return (formCheck(this) && validate_dropdown())"

于 2010-06-24T03:41:12.047 回答
2
onsubmit="return (formCheck(this) && validate_dropdown())"
于 2010-07-09T23:39:35.250 回答
1

我没有足够的声誉来投票赞成或反对,但我可以向你保证,当有两个回报时,比如:return formCheck(this) && return validate_dropdown();它需要写成return formCheck(this) && validate_dropdown();

...省略了第二个“返回”。

所以这个帖子上得票最多的回复实际上是错误的,Anax 的 0 票回复(在撰写本文时)解决了我的问题。其他人在 IE 中产生了脚本错误。

于 2011-04-13T21:30:13.467 回答
0

您的代码将无法工作,因为一旦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)">
于 2010-07-10T00:27:53.437 回答