如果只按下一个特定按钮,如何使用JQuery验证表单?

时间:2011-02-13 15:54:05

标签: javascript jquery validation submit

我有一个带有两个提交按钮的表单。按钮必须是提交类型,我无法更改它。

如何让jquery不验证,但在按下第一个按钮时提交表单,并在按下第二个按钮时验证并提交?

谢谢

3 个答案:

答案 0 :(得分:3)

event.originalEvent.explicitOriginalTarget是一个特定于Ge​​cko的属性(参见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;
       }
    }
});