繁体   English   中英

当仅按下一个特定按钮时,如何使用JQuery验证表单?

[英]How to validate form using JQuery when only one particular button is pressed?

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

我如何才能使jquery在第一个按钮按下时不验证而是提交表单,在第二个按钮按下时验证并提交?

谢谢

event.originalEvent.explicitOriginalTarget是壁虎特定的属性(请参阅此问题和解答 )。

以下应该工作:

var doValidate;
$('#validating-button').click(function () { doValidate = true; });
$('#non-validating-button').click(function () { doValidate = false; });
$('#form').validate({
    rules: {
        myinputname: {
            required: function () { return doValidate; }
        }
    }
});

好的,我找到了一个与往常一样非常简单的解决方案,我唯一需要做的就是将class =“ cancel”设置为第一个按钮,它将跳过提交时的验证。

在这里找到http://forum.jquery.com/topic/stop-a-specific-button-calling-validation

编辑 :检查提问者的答案:)

单击第一个btn,做验证工作并检查验证(只需尝试/改进它)...单击第二个btn,什么都不做(提交表单)

$('#formid').submit(function(event) {
    if (event.originalEvent.explicitOriginalTarget.id == "firstButtonID") {
       $(this).validate();
       if(!$(this).valid()){
            event.preventDefault();
            return false;
       }
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM