簡體   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