我有一个带有两个提交按钮的表单。按钮必须是提交类型,我无法更改它。
如何让jquery不验证,但在按下第一个按钮时提交表单,并在按下第二个按钮时验证并提交?
谢谢
答案 0 :(得分:3)
event.originalEvent.explicitOriginalTarget是一个特定于Gecko的属性(参见this question and answer)。
以下内容应该有效:
var doValidate;
$('#validating-button').click(function () { doValidate = true; });
$('#non-validating-button').click(function () { doValidate = false; });
$('#form').validate({
rules: {
myinputname: {
required: function () { return doValidate; }
}
}
});
答案 1 :(得分:2)
好的,我找到了一个像往常一样容易上手的解决方案,我唯一需要做的就是将class =“cancel”设置为第一个按钮,它将在提交时跳过验证。
在此处找到http://forum.jquery.com/topic/stop-a-specific-button-calling-validation
答案 2 :(得分:0)
编辑:检查提问者的答案:)
首先点击btn,做验证的东西并检查验证(只是尝试/改进它)......第二个Btn点击,什么也不做(提交表格)
$('#formid').submit(function(event) {
if (event.originalEvent.explicitOriginalTarget.id == "firstButtonID") {
$(this).validate();
if(!$(this).valid()){
event.preventDefault();
return false;
}
}
});