【问题标题】:jQuery Validation plugin: disable validation for specified submit buttons when there is submitHandler handlerjQuery Validation 插件:当有 submitHandler 处理程序时禁用对指定提交按钮的验证
【发布时间】:2010-05-12 16:10:47
【问题描述】:

好的,我正在使用 umbraco 论坛模块,并且在评论表单上它使用 jquery validate 插件。 问题是我使用UserControl在同一页面上添加了一个搜索按钮,搜索提交按钮触发评论表单提交验证。

我做了一些研究,并将“取消”css 类添加到按钮中。这绕过了第一个验证问题,但是,它仍然属于'submitHandler'。看了源码,找到了检测搜索按钮是否触发提交的方法。但是,没有绕过处理程序的好方法。

我目前正在使用一种丑陋的方式来做到这一点:创建 javascript 错误!我想知道一种更好的方法来完成这项工作。非常感谢!

顺便说一句,我目前正在使用:

submitHandler: function (form) {

            $(form).find(':hidden').each(function () {
                var name = $(this).attr('name');
                if (name && name.indexOf('btnSearch') === name.length - 'btnSearch'.length) {
                    // this is a dirty hack to avoid the validate plugin to work for the button
                    eval("var error = 1 2 ''");
                }
            });

            // original code from umbraco ignored here....
        }

.......

这里有类似的问题: jQuery Validation plugin: disable validation for specified submit buttons (这有点不同,因为在这个中使用了 submitHandler ......)

【问题讨论】:

    标签: javascript jquery validation jquery-validate umbraco


    【解决方案1】:

    使用忽略并将选择器设置为您需要的任何值。

    $("#myform").validate({
       ignore: ".ignore"
    })
    

    【讨论】:

    • 由于使用了'submitHandler',插件在源代码第46行捕获所有提交/输入按钮:this.find("input, button").filter(":submit").click (function() { 我还没有阅读完整的源代码,我猜你的忽略选项与默认的 '.cancel' 类相同?
    猜你喜欢
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    相关资源
    最近更新 更多