Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的表单验证可能不起作用_Javascript_Jquery_Forms_Validation_Jquery Validate - Fatal编程技术网

javascript中的表单验证可能不起作用

javascript中的表单验证可能不起作用,javascript,jquery,forms,validation,jquery-validate,Javascript,Jquery,Forms,Validation,Jquery Validate,我正在编写此表单,该表单在提交前应验证表单 $(document).ready(function() { $("#form3").validate(); if ($('#form3').valid()) $('#form3').submit(); }); 但问题是:它在加载表单时打印(空字段错误) 更新:该函数现在使用以下代码运行(Horraaay:): <script> $(document).ready(function(){

我正在编写此表单,该表单在提交前应验证表单

$(document).ready(function() {
    $("#form3").validate();
    if ($('#form3').valid()) $('#form3').submit();
});
但问题是:它在加载表单时打印(空字段错误)


更新:该函数现在使用以下代码运行(Horraaay:):

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

$(文档).ready(函数(){
$(“#form3”).validate();
});

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

将代码放在表单提交事件上。大概是这样的:

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

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

如果您需要手动提交,您可以使用SubmitHandler位置提交表单

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

我解决了这个问题,现在它工作了。。。 这是一个小错误


我将submit按钮名称和id更改为(submit)。

无需同时使用
preventDefault
return false
$(此选项)。validate
初始化插件,我认为您希望更早执行。是的,
return false=event.preventDefault+event.stopPropagation