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)
<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)
你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 & 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/