2012-03-27 3 views
0

このコードの動作を「変更/変更」しようとしていますが、30以上の選択肢から1つのラジオボタンの選択のみを許可します。今書かれているように、それは提出する前にすべての選択を探します。イムノッブ、親切にしてください。多くのうち1つのラジオを選択

<script type="text/javascript"> 
      function checkform() { 
       //make sure all picks have a checked value 
       var f = document.entryForm; 
       var allChecked = true; 
       var allR = document.getElementsByTagName('input'); 
       for (var i=0; i < allR.length; i++) { 
        if(allR[i].type == 'radio') { 
         if (!radioIsChecked(allR[i].name)) { 
          allChecked = false; 
         } 
        }  
       } 
       if (!allChecked) { 
        return confirm('One or more picks are missing for the current week. Do you wish to submit anyway?'); 
       } 
       return true; 
      } 
      function radioIsChecked(elmName) { 
       var elements = document.getElementsByName(elmName); 
       for (var i = 0; i < elements.length; i++) { 
        if (elements[i].checked) { 
         return true; 
        } 
       } 
       return false; 
      } 
      </script> 
+1

あなたのフォームは現在どのように見えますか?それはすべてラジオですか?なぜ彼らをラジオ・グループにしていないのですか(それらにすべて同じ名前の値の名前= "thisHereRadios")、1つしか選択できませんでしたか? – jveselka

答えて

0

"allChecked"のフラグの代わりにカウンタを使用します。

ゼロに設定します。要素がチェックされている場合は、allChecked++を使用し、最後に値が1かどうかを確認します。

+0

私はこれで本当に新しい、そしておそらくこれで私の頭の上に方法です。これについてもっと詳しく説明できますか? – Rickos

+0

通常、ラジオボタンは、私たちが多くのアイテムをチェックできるようになっています。グループ化することはできますが、グループごとにチェックする必要があります。複数の項目を選択できる選択肢がある場合は、代わりにチェックボックスを使用します。 –

+0

ページのロード方法は複雑です。 – Rickos

関連する問題