0

ページには、ある種のボタンで検証する必要があるフォームがありますが、フォームをコピーできるため、同じクラス ID を持つ複数のフォームがあります。これを介して行うことができる問題はありません

$(button.validate).click(function (){
  $(this.form).validate();    
});  

validate() 関数は、他の関数のようにこの演算子では機能しないので、これを行う別の方法はありますか? 各フォームに一意のIDを与えることはできません...フォームに添付されているフォームを検証するために割り当てられたボタンがあります。

function validate(targetform){


    $(targetform).validate({ 

            errorPlacement: function (error, element) {                 
            error.appendTo( element.parent("div").next("div"));   
             }           
       });
    }

HTML

<button onclick="validate($(this).closest('form'))">validate</button>
4

1 に答える 1

0

各ボタンからフォームにアクセスできます

$(document).ready(function () {
    $('.myButtonClass').click(function () {
        var relevantFormID = $(this).closest('form').prop('id');
        ValidateForm(relevantFormID);
    });
} 

次に、別のValidateForm関数がすべての作業を実行できます。

function ValidateForm(targetFormID) {
    $targetForm = $('form[id="' + targetFormID + '"]');
    //Your target form is now available as a jQuery object, all perks included
    //validation goes here
}
于 2013-04-12T11:33:26.547 に答える