0

サイトにフォームがあり、送信をクリックすると、空のフィールドをチェックする検証スクリプトがあります。私のフォームには必須ではないフィールドが 1 つしかないので、それを例外として追加しようとしています。ここに私の現在のスクリプトがあります

$("#quote_form").submit(function(){
    var isFormValid = true;

    $("input, select").not('.discount').each(function() {
        if ($.trim($(this).val()).length == 0){
            $(this).addClass("highlight");
            isFormValid = false;
        }
        else{
            $(this).removeClass("highlight");
        }
    });

    if (!isFormValid) {
        $('.error').text('**Please fill in all highlighted fields**');
    }
    else {
        $('.error').text('');
    }

    return isFormValid;
});

これは、送信をクリックしても、クラス「ディスカウント」を持つフィールドにクラス「ハイライト」が追加されないという点で機能しますが、ディスカウント以外のすべてのフォームフィールドに入力しても送信されません。私が欠けているものを誰か教えてもらえますか?

4

1 に答える 1

0

私は、より完全でシンプルなアプローチを採用します: jquery.validateを使用します。

この広く使用されているプラ​​グインを使用すると、入力に直接適用されるコードまたは (推奨!) css クラスおよび属性 (つまり、必須、電子メール、最小/最大長、最小/最大値など) によって検証ルールを管理できます。

いくつかの使用例については、こちらをご覧ください。

エラー メッセージと対応するローカライズが既に含まれていることに注意してください。

于 2013-11-30T15:49:42.190 に答える