- ベストアンサー
JavaScriptのラジオボタンの使い方について
- JavaScriptを使用したラジオボタンの使い方についてアドバイスをお願いします。
- ラジオボタンの内容をデータベースによって変更する場合におけるエラー対策について教えてください。
- 特定の選択肢しかない場合にもエラーにならないラジオボタンの書き方についてご教示いただけますか。
- みんなの回答 (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値を返す処理を別に用意してやれば良いのではないでしょうか。 参考になれば幸いです。 見当違いでしたらごめんなさい。
お礼
回答ありがとうございました。 >document.main.shori.lengthは、フォーム部品のラジオボタンが配列としてソートされている場合には真を返しますので 上記丁寧な解説ありがとうございました。 自分で書いてはいても、コピー多用で、意味がわかっていない状態であることがよくわかりました。 (^^; おかげ様で目的が達成できました。