【问题标题】:Form validation in javascript does not work probablyjavascript中的表单验证可能不起作用
【发布时间】:2012-07-20 20:56:28
【问题描述】:

我正在处理这个表单,假设在提交之前验证表单

$(document).ready(function() {
    $("#form3").validate();
    if ($('#form3').valid()) $('#form3').submit();
});

但问题是:加载表单时它会打印(空字段错误)。


更新:该功能现在正在使用 Horraaay :) 使用以下代码:

      <script>
      $(document).ready(function(){
      $("#form3").validate();
     });
     </script>

唯一的问题是输入表单名称。我使用“提交”作为输入表单的名称,但之前使用了不同的名称。

【问题讨论】:

    标签: javascript jquery forms validation jquery-validate


    【解决方案1】:

    将您的代码放在表单提交事件中。像这样的:

    $(document).ready(function()
    {
        $("#form3").validate();
        $("#form3").submit(function(event)    
        {
            if (!$(this).valid()) 
            {
                event.preventDefault();
            }
        });
    });
    

    【讨论】:

    • 无需同时使用 preventDefaultreturn false
    • $(this).validate 初始化插件,我想你要早点做。
    • 是的,return false = event.preventDefault + event.stopPropagation
    【解决方案2】:

    我认为默认情况下验证成功后它会提交表单。但是我不知道您为什么需要重新提交表单。

    如果您需要手动提交,您可以使用 SubmitHandler 地方提交您的表单。

    $("#form3").validate({
       submitHandler: function(form) {       
         form.submit();
       }
    });
    

    【讨论】:

      【解决方案3】:

      我解决了这个问题,现在它可以工作了...... 这是一个小错误!

      我将提交按钮名称和 ID 更改为 (Submit)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-28
        • 2012-02-08
        • 2011-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-23
        相关资源
        最近更新 更多