2017-03-08 12 views
0

私は、純粋なラジオグループの調査票にいくつかの簡単な検証を実行するには、次の機能を使用しています:jQueryの提出トラブル

$('form').submit(function(e) { 
    e.preventDefault(); 
    if($('input[type="radio"]:not(:checked)').val()) { 
     this.reportValidity(); 
     return; 
    } 
    this.submit(); 
}); 

私はこのfiddleから始め、少しそれを変更しました。

これは、ラジオボタンを非常によく妥当性を確認したい場合に機能します...しかし、何らかの理由で、フォームが、選択されたラジオグループごとに一度送信されることはありません。私は誰かがこれに答えると、私はかなり簡単な何かを見逃しているように感じ、手のひらに直面します。

ありがとうございます。

+0

あなたのJSは私が知る限り、正常に動作します(あなたが提供したフィドルでテストされています)。問題はおそらく他のどこかで起こります。 – stybl

+0

@Styは、動作していないコードではありません。その混乱をお詫び申し上げます。このコードは、ラジオグループに少なくとも1つ選択されていることを確認する場合にのみ機能します。 – daredevil1234

+0

明らかにしておくべきことは、この記事で提供したコードを、コピーをフィドルに貼り付けることでテストしました。 – stybl

答えて

3

変更されたスクリプトでは、チェックされていないラジオボタンがチェックされているので、チェックは常に終了します。グループ内の1人だけしかチェックできないため、少なくとも1つはチェックされません。グループは問題ないので妥当性検査を点滅させませんが、実際のsubmit()呼び出しを行わずにサブミット関数から戻ります。

+0

うん、それは意味をなさない。私は少しコードを混乱させ、あなたに戻ってみましょう – daredevil1234

+0

それを楽しみましょう! :-) –

+0

私はこれが提出していない理由であることを確認しました。私は適切に提出するために私のコードを変更することができませんでしたが、私はこの回答の正しさを確認しました。 – daredevil1234