0

いくつかの場所を見てきましたが、うまくいく例が見つかりません。この例では、ラジオ グループを選択し、null をテストして、ユーザーに選択を求めるメッセージを発行できるようにします。

<script>                        
function validate(form) {   
    fail = validate__veteran(form);
    if (fail == "") { 
        return true;
        } else { 
            alert(fail);
            return false;
        }
    }
</script>
<script> 

    function validate_veteran(form) {
        var radios = document.getElementsById('veteran');
        if (radios == null) {
            return "please make a selection for veteran";
        }
        return "";
    }
</script>
<form method="post" action="checkbox.php" onSubmit="return validate(this)">
        Veteran?<**input type="radio" id="veteran"** name="veteran" value="veteran" /> yes <br>
                <input type="radio" id="veteran" name="veteran" value="" /> no <br>
<input id="submit" type="submit" name="submit" value="Signup" />                        
</form>
4

4 に答える 4

2

次のようにチェック済みのステータスを取得できます。

var radios = document.getElementById('veteran').checked;
于 2012-11-06T07:06:03.363 に答える
0

フォームを次のように変更します。

<form method="post" name='myForm' action="checkbox.php" onSubmit="return validate(this)">

   <script>
    function validate_veteran(form) 
    var veteran="";
        for (var i=0; i < document.myForm.veteran.length; i++)
   {
   if (document.myForm.veteran[i].checked)
      {
      veteran = document.myForm.veteran[i].value;
      }
 return veteran
    }
    </script>
于 2012-11-06T07:20:15.360 に答える
0
  1. あなたのラジオボタンに2つの異なるIDを割り当て、どちらがチェックされているかを確認する方が良いでしょう

      document.getElementsById('ContorlID').checked   
    

またはコードでgng、valueプロパティを使用

  function validate_veteran(form) {
       var radios = document.getElementsById('veteran');
       if (radios.value == "" {
         return "please make a selection for veteran";
       }
    return "";
  }
于 2012-11-06T07:07:05.033 に答える
0

Jqueryを使用できる場合、これは1行で達成できます

    if ($('input[name=veteran]:checked').length <1) {
      alert("please make a selection for veteran");
return false;
    }
于 2012-11-06T07:08:10.040 に答える