• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:for ( i = 0; i ・・の使い方?)

JavaScriptのラジオボタンの使い方について

このQ&Aのポイント
  • JavaScriptを使用したラジオボタンの使い方についてアドバイスをお願いします。
  • ラジオボタンの内容をデータベースによって変更する場合におけるエラー対策について教えてください。
  • 特定の選択肢しかない場合にもエラーにならないラジオボタンの書き方についてご教示いただけますか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#199778
noname#199778
回答No.1

おはようございます。 スクリプトを、以下のようにしてみてはいかがでしょうか。 var shori_value; function set( n ) { if (document.main.shori.length){ for ( i = 0; i < document.main.shori.length; i++ ) { if ( document.main.shori[i].checked ) { shori_value = document.main.shori[i].value; } } } else { if(document.main.shori.checked){ shori_value = document.main.shori.value;} } alert(shori_value) } 上では、if(document.main.shori.length){}という条件で条件分岐を設定しています。 document.main.shori.lengthは、フォーム部品のラジオボタンが配列としてソートされている場合には真を返しますので、複数のラジオボタンが並んでいるときにはこれ以下の処理を実行します。 もし、ラジオボタンが一つしかない場合は、それは配列としてソートされないため、document.main.shori.lengthは未定義となり、偽を返すはずなので、そこでエラーを回避できると思います。 あとは、else文でラジオボタンが一つのケースで、そのラジオボタンがチェックされているかどうかと、チェックされている場合にそのvalue値を返す処理を別に用意してやれば良いのではないでしょうか。 参考になれば幸いです。 見当違いでしたらごめんなさい。

s-holmes
質問者

お礼

回答ありがとうございました。 >document.main.shori.lengthは、フォーム部品のラジオボタンが配列としてソートされている場合には真を返しますので 上記丁寧な解説ありがとうございました。 自分で書いてはいても、コピー多用で、意味がわかっていない状態であることがよくわかりました。 (^^; おかげ様で目的が達成できました。

関連するQ&A