如果我将输入类型=提交更改为类型=按钮,jquery验证插件将无法工作

如果我将输入类型=提交更改为类型=按钮,jquery验证插件将无法工作,jquery,jquery-validate,Jquery,Jquery Validate,我使用我找到的jquery验证插件 我的问题是,在表单中,如果我将提交按钮从 <input type="submit" value="Add" class="add" id="addbutton"> 你可以这样试试 $('document').ready(function(){ $('form').validate({ rules: { a: {required:true, minlength:2} },

我使用我找到的jquery验证插件

我的问题是,在表单中,如果我将提交按钮从

<input type="submit" value="Add" class="add" id="addbutton">
你可以这样试试

    $('document').ready(function(){
    $('form').validate({
        rules: {
           a: {required:true, minlength:2}
        },      
        messages: {
           a: {required: "enter your name!"}       
        },


    });
    $('#checkbut').click(function(){
        $("form").validate().element("#a");
    });
});

工作

我相信验证插件实际上会在表单提交时进行验证。因此,您只需要使用javascript来点击按钮提交表单。大概是这样的:

$('#commentForm input[type=button]').click(function(){
  $(this).closest('form').submit()
});
其他:
您还需要记住,在关注任何表单元素时按enter键仍将提交表单,除非您禁用该功能,因此在禁用javascript时仅删除submit按钮的解决方案不会涵盖这种情况。

事实上,我认为除非用户手动单击按钮,否则不会提交表单。如果他们在专注于某个领域时确实按了回车键,则不会发生任何事情。至少这就是我的测试表单所做的。当我这样做时,表单不会在键启动时进行验证。“我想使用按钮而不是提交,因为如果用户关闭了javascript,表单将根本不会提交。它将只是坐在那里不做任何事。”~如果您只想这样做,请设置
disabled=“disabled”
无表单或无按钮等中的属性。
    $('document').ready(function(){
    $('form').validate({
        rules: {
           a: {required:true, minlength:2}
        },      
        messages: {
           a: {required: "enter your name!"}       
        },


    });
    $('#checkbut').click(function(){
        $("form").validate().element("#a");
    });
});
$('#commentForm input[type=button]').click(function(){
  $(this).closest('form').submit()
});