catch click事件并使用validate.js

时间:2011-11-21 14:08:43

标签: jquery validation

我假设我有两个按钮,表示按钮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有助于解决我的问题。

2 个答案:

答案 0 :(得分:1)

我尝试将此作为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: "*"

    }
});

答案 1 :(得分:0)

我认为这些按钮首先触发了验证,因此,您应该可以通过“这个”按钮获得点击按钮。变量。否则,将一个点击事件处理程序添加到切换“点击”按钮的按钮上。类到当前按钮,检查验证代码中是否存在该类,并且您知道单击了哪个按钮。