繁体   English   中英

捕获点击事件并使用validate.js

[英]catch click event and use validate.js

假设我在表单中有2个按钮,说按钮btnAbtnB 。我想使用validate.js验证我的表单,我尝试:

var v = $("#form1").validate({
    ignore: ':hidden',
    rules: {
        if(--btnA is clicked--){
            txtMenuName: { required: true }
        }
        if(--btnB--){

            txtLinkTitle: { required: true },
            txtExternalLink: { required: true }
        }
    },
    messages: {
        txtMenuName: "*",
        review: "*",
        txtLinkTitle: "*",
        txtExternalLink: "*"

    }
});

但是我无法捕捉到哪个按钮是click.Plz帮助解决了我的问题。

我试图将其作为对Baszz答案的修改,但是我没有允许,因此这里有一些示例代码应该会有所帮助。

$(function(){
    $('#btnA').click(function(){
        $(this).addClass('clicked');
        $('#btnB').removeClass('clicked');
    });
    $('#btnB').click(function(){
        $(this).addClass('clicked');
        $('#btnA').removeClass('clicked');
    });
});

var v = $("#form1").validate({
    ignore: ':hidden',
    rules: {
        if($('#btnA').hasClass('clicked'){
            txtMenuName: { required: true }
        }
        if($('#btnB').hasClass('clicked'){

            txtLinkTitle: { required: true },
            txtExternalLink: { required: true }
        }
    },
    messages: {
        txtMenuName: "*",
        review: "*",
        txtLinkTitle: "*",
        txtExternalLink: "*"

    }
});

我假设按钮首先触发了验证,因此,您应该能够通过“ this”变量获取被点击的按钮。 否则,将click事件处理程序添加到将“ clicked”类切​​换到当前按钮的按钮上,在验证代码中检查该类是否存在,并且您知道单击了哪个按钮。

暂无
暂无

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

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