Jquery验证,在submitHandler()中单击了Get按钮

A.J*_*.J. 4 javascript jquery jquery-validate

我有两个按钮在type='Submit'' 验证后,submitHandler我希望得到这些按钮中的哪一个被点击.

根据这个,我想禁用该按钮.

处理器

$("#add_customer").validate({
    rules: {
        name: {
            required: true
        },
        annual_sales_weight: {
            required: true,
            number: true
        }

    },
    errorClass: "help-inline",
    errorElement: "span",
    highlight: highlightJquery,
    unhighlight: Unhilight,
    submitHandler: function (form) {
        var btn = $(form).find('button');
        disable(btn)
        sendAjaxRequest(url,data=form.serialize());

    }
});
Run Code Online (Sandbox Code Playgroud)

HTML

<button class="btn btn-primary" name="add" type="submit"> Submit</button>
<button class="btn btn-primary" name="prospect" type="submit"> Submit & Add prospect</button>
Run Code Online (Sandbox Code Playgroud)

小智 9

这里,您可以使用验证插件的未记录功能。

submitHandler: function(form){              
    var submitButtonName =  $(this.submitButton).attr("name");

... rest of code 
Run Code Online (Sandbox Code Playgroud)


Spa*_*rky 5

submit的表单上有两个按钮,所以当你到达submitHandler它时为时已晚.如果您想知道单击了哪个按钮,则必须提前捕获该事件.

将它们更改为两者,type="button"以便您可以控制提交.

<button class="btn btn-primary" name="add" type="button">Submit</button>
<button class="btn btn-primary" name="prospect" type="button">Submit &amp; Add prospect</button>
Run Code Online (Sandbox Code Playgroud)

然后添加这个......

$('button[name="add"], button[name="prospect"]').on('click', function (e) {
    e.preventDefault();
    if ($('#myform').valid()) {
        $(this).prop('disabled', 'disabled');
        $('#myform').submit();
    }
});
Run Code Online (Sandbox Code Playgroud)

演示:http: //jsfiddle.net/etHcZ/