【问题标题】:JavaScript Form Validation, Return FalseJavaScript 表单验证,返回 False
【发布时间】:2011-09-12 09:32:49
【问题描述】:

我有一个触发许多其他功能的功能:

function formvalidation()
{
    ZeroSite();
    BlankPC();
    BlankSite();
    BlankSeats();
}// End of formvalidation

还有这样的形式:

<form id="quote" name="quote" method="get" onSubmit='return formvalidation();' action="testing.php">

问题是,如果其中一个函数返回flase,那么表单仍然被提交,有没有办法将return false传递给父函数?

感谢收看, B.

【问题讨论】:

  • 你的formvalidation 函数没有返回任何东西 - 这是你需要修复的第一件事

标签: javascript validation forms function


【解决方案1】:

检查所有函数是否返回true,如果不返回false。下面的例子

function formvalidation() {
    return (ZeroSite() && BlankPC() && BlankSite() && BlankSeats());
}

【讨论】:

  • 并且您确定函数会执行return false - 您是否收到任何 javascript 错误,错误可能会阻止函数正确运行并且不会返回 false 到 onsubmit。可能尝试将部分 JS 和 HTML 放在 jsfiddle.net
【解决方案2】:

我看到 3 个人已经很友好地给了你相同且非常好的答案 :-) 但是,使用按位与代替,你可以确保调用所有函数,即使前一个函数返回 false。

function formvalidation() {
    return Boolean( ZeroSite() & BlankPC() & BlankSite() & BlankSeats() );
}

【讨论】:

    【解决方案3】:

    尝试类似:

    function formvalidation() {
        return(ZeroSite() && BlankPC() && BlankSite() && BlankSeats());
    }
    

    如果您的任何其他函数返回 false,return 语句将评估为 false,主函数也将返回 false。

    【讨论】:

      【解决方案4】:

      当所有这些函数只返回一个值时,您必须检查该值...

      function formvalidation()
      {
          return (ZeroSite() && BlankPC() && BlankSite() && BlankSeats());
      }// End of formvalidation
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-16
        • 1970-01-01
        • 2012-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-28
        相关资源
        最近更新 更多