2012-03-14 4 views
1

問題は重複したエラーです。たとえば、最初のラジオボタンで「はい」をクリックし、最初のドロップダウンで赤のみを選択して送信をクリックすると、2つの検証エラーが連続して表示されます。 2番目の方法は削除するには?jqueryが二重検証エラーを作成しています

+0

実際にここで結果を得るべきですか? 2つのアラートメッセージを表示するコードを記述していますか? – Jayanga

+0

@ジャヤンガは最初に「はい」を選択して、送信します。 2つのエラーメッセージを参照してください。 – lukey

+0

@lukey心配する必要はありません。あなたの質問ははっきりしています。一度正しく両方のエラーメッセージを表示したくない場合。私はそれを解決した。答えは以下の通りです。 –

答えて

0

このようなクリック機能を変更します。

$("input:submit").click(function() { 

    var retVal = validate(1); 


    if (!$("input[name=attendance1]").is(":checked")) { 
     alert('Please select preference for 1'); 
     return false; 
    } 
    if (!$("input[name=attendance2]").is(":checked") && retVal) { 
     alert('Please select preference for 2'); 
     return false; 
    } 
    if (!$("input[name=attendance3]").is(":checked") && retVal) { 
     alert('Please select preference for 3'); 
     return false; 
    } 
}); 

これが問題を解決します。

+0

しかし、これは私がエラーで[OK]をクリックすると送信されますか? – lukey

+0

はい、一般的にコールバック関数はフォーム値がバックエンドに送信される前に実行されます。 [OK]ボタンをクリックすると、それが送信されます。 –

+0

出席者1、出席者2、または出席者3がチェックされていない場合、それが送信されても​​それが送信されない場合、私は警告しません。 「はい」を選択した場合、色と影を選択しないで、ドロップダウンを選択していないことを警告しますが、「OK」をクリックすると送信します – lukey

関連する問題