0

errorフォームの css クラスを追加/削除したい。

$("#my-form").validate({
        invalidHandler: function (event, validator) {
            // 'this' refers to the form
            var errors = validator.numberOfInvalids();
            if (errors) {
                $(this).addClass("error");
            } else {
                $(this).removeClass("error");
            }
        },
});

このアプローチの問題:フォームを検証する ために使用すると、入力などの各コントロールに css-class$("#my-form").validate().form()が自動的に追加/削除されます。errorこれを追加 すると、フォーム全体invalidHandlerの css-class が追加/削除されます。error

メッセージをvalidator.resetForm()クリアすると、フォームからではなく、子コントロールから css-class がリセットされます。このアクションをトリガーするバインディングまたはその他の種類のハンドラーを使用して、フォームから css-class を自動的に削除することを望みます (フォームから css-class を削除します)。

この問題を解決するにはどうすればよいですか?

ソース: http://jqueryvalidation.org/validate/

Update Here ばかげた例: http://jsfiddle.net/F2Re4/手動でクラスを削除します (この例では、クラスを呼び出しました: 'error-form')

4

2 に答える 2

0

.valid()フォームのテストに使用します。valid()のクリック関数を参照してください

validate = function(){
    $("#myForm").valid();
};

resetForm = function(){
    var form = $("#myForm").validate();
    form.resetForm();
};

デモ: http://jsfiddle.net/tive/U2XKx/

さらに、 w3schoolsreset()で見られるように使用して、テキスト値をクリアします。

于 2013-11-09T02:39:45.953 に答える