0

これは、ラジオ ボタンを含むフォームを含む php ファイルのコードです。

<?php
    while($r7 = mysql_fetch_array($rt3)){
        $name=$r7["name"];  
        $s=$r7["question"]; 

        echo "
        <div>$s</div>

        <form name='Tester' method='post' onSubmit='return RegValidate(this);' action='quest.php' >
        <input type='radio' name='w1' value='1'>1<br>
        <input type='radio' name='w1' value='2'>2<br>
        <input type='radio' name='w1' value='3'>3<br>



        ";
        }
        echo" <input  name='Submit' value='Tester' type='submit' />
        </form>";

?>

$name と $q は、mysql クエリを使用してデータベースから取得されます。これはうまくいきます。これまで、次の JavaScript コードを使用してきました。

function RegValidate(Tester) 
 {

 if($('#w1').not(':checked'))
{
   alert('Radio not checked');
   return false;
}

}

しかし、このコードでは引き続きエラー メッセージが表示され、ラジオ ボタンを選択しても先に進むことができません。

while ループは、$q がデータベースから質問を取得し、3 つのラジオ ボタンと共にページに投稿するため、いくつかのラジオ ボタンのセットを生成します。各質問 $q には、上記の 3 つのラジオ ボタンがあります。したがって、$name の理由です。

このフォームを JavaScript で検証するにはどうすればよいですか。注意。フォームにはラジオ ボタンのみが含まれます。

4

3 に答える 3

0

これらのことを行います:

      <input type='radio' class='w1' name='w1' value='1'>1<br>
      <input type='radio' class='w1' name='w1' value='2'>2<br>
      <input type='radio' class='w1' name='w1' value='3'>3<br>

そしてjsで:

最新の編集:

  if ( $(':radio[class=w1]').attr('checked') != 'checked' ) {
    alert('Radio not checked');

}
于 2012-09-27T20:56:12.680 に答える
0

エラーが発生しました。入力に ID または CLASS がありません。すべての入力ラジオに追加してclass='w1'、次のコードを試してください。

 if ($(".w1 option:selected").length<1)
     alert ('nothing selected');

この投稿もご覧ください:オプションがjQueryで選択されているかどうかを確認し、そうでない場合はデフォルトを選択してください

于 2012-09-27T20:32:52.887 に答える
0
function RegValidate(Tester) {
    if ($(":radio[name=w1]:checked").toArray().length == 0) {
        alert('nothing selected');
        return false;
    }
}​

フィドル

于 2012-09-28T00:02:01.983 に答える