• 締切済み

ラジオボタンの未選択チェックについて

ラジオボタンの未選択チェックに困っています! フォームにInputして、CGIで送信するように設定しています。 但し、送信内容を管理者がメール受信するため、ラジオボタンの「name」は漢字にしています。   <name> <value> Webの見やすさ = 見やすい  と表示されるようにです。 <INPUT type="radio" name="Webの見やすさ" value="見やすい" id="Q11"><label for="Q11"> 見やすい</label> <INPUT type="radio" name="Webの見やすさ" value="特に問題ない" id="Q12"><label for="Q12"> 特に問題ない</label> <INPUT type="radio" name="Webの見やすさ" value="ふつう" id="Q13"><label for="Q13"> ふつう</label>   <INPUT type="radio" name="Webの見やすさ" value="やや見にくい" id="Q14"><label for="Q14"> やや見にくい</label>   <INPUT type="radio" name="Webの見やすさ" value="見にくい" id="Q15"><label for="Q15"> 見にくい</label></TD> この場合、ラジオボタンの未選択チェックは、どのようにしたら いいのでしょうか? 今までは、「name」を英数にしていたので、下記のようにしていました。 <script language="JavaScript"> <!-- function chk(oj) { if ((oj.Q1[0].checked == false) && (oj.Q1[1].checked == false) && (oj.Q1[2].checked == false) && (oj.Q1[3].checked == false) && (oj.Q1[4].checked == false)) { alert("Q1のボタンが未選択です"); return false ; } else { return true ; } }//--> </script> 初心者のため、何を変えたらいいのか・・・ホームページを調べたのですが分かりませんでした。 「name」が漢字の場合、どのように指示したらいいのか、ぜひぜひご教授願います。 どうぞよろしくお願いいたします。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

>Webの見やすさ = 見やすい と表示されるようにです どこに表示されるようにしようとしているのでしょうか? ブラウザ表示? 違いますよね。直接見えるのはラベルだけ。 遷移後のアドレス表示? 多分エンコードされてしまうはずだと思うけど? まさか、ソースが見やすいとかではないですよね? >CGIで送信するように設定しています cgi側でどう処理するかはおいておいても、ブラウザ側でもあまり必要性を感じませんが? それはおいておいて… var nam ='Webの見やすさ'; var elm = obj.elements[nam]; で、取得できるみたい… (objはform要素) 名前に頼らずにform要素の子要素をチェックするとか、質問文ではそれぞれにidがふってあるので、idでチェックするとかの方法もあります。 そもそも、デフォルトでどれかをオンにしておけば、チェックする行為そのものが不要になりますけど…

回答No.2

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#radio >各ラジオボタン群につき1つの初期値を確実に“on”にしておく必要がある とあるので、どれかひとつをおんにしておくとか。 <INPUT type="radio" name="Webの見やすさ" value="見やすい" id="Q11" checked="checked"><label for="Q11"> 見やすい</label>

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

こんな風にforでループさせてみてください <script> function chk(f) { var r=f.elements["Webの見やすさ"]; var flg=false; for(var i=0;i<r.length;i++){ if(r[i].checked){flg=true;break;} } if(!flg) alert("Q1のボタンが未選択です"); return flg; } </script> <form onsubmit="return chk(this);"> Q1: <INPUT type="radio" name="Webの見やすさ" value="見やすい" id="Q11"><label for="Q11"> 見やすい</label> <INPUT type="radio" name="Webの見やすさ" value="特に問題ない" id="Q12"><label for="Q12"> 特に問題ない</label> <INPUT type="radio" name="Webの見やすさ" value="ふつう" id="Q13"><label for="Q13"> ふつう</label>   <INPUT type="radio" name="Webの見やすさ" value="やや見にくい" id="Q14"><label for="Q14"> やや見にくい</label>   <INPUT type="radio" name="Webの見やすさ" value="見にくい" id="Q15"><label for="Q15"> 見にくい</label> <INPUT type="submit" value="送る"> </form>

関連するQ&A