• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックボックスのvalueの取得方法タイプ1と2)

チェックボックスのvalue取得方法

このQ&Aのポイント
  • チェックボックスのvalueを取得する方法には、タイプ1とタイプ2があります。タイプ1では、select要素の専用のメソッドを使用して取得します。タイプ2では、checkboxのvalue属性を直接取得する方法を使用します。
  • タイプ1では、select要素のオプションを操作するための専用のメソッドが用意されています。一方、タイプ2では、checkboxのvalue属性を直接取得するための方法を使用します。
  • タイプ1とタイプ2の目的は同じですが、どちらの書き方が良いかは状況によります。タイプ1は柔軟な操作が可能であり、タイプ2はシンプルで短いコードで済む利点があります。一般的には、タイプ1を使用するサイトが多いです。

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

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

>ただ、一点気になったところがあります。 >>おなじnameのチェックボックスを使用していますが、名前の競合を >>起こしていますね。あまりよい使い方とは思えませんね えーと、受け取ったサーバー側のプログラムの仕組みによります。 たとえばPHPなどで処理するなら <input type="checkbox" name="bbb[]"> のようにしておくだけで、競合せずに配列として受け取ることができます。 サーバーにデータを送信しないならあまり気にする必要はありません。 逆にjavascriptとしては同じnameにすると、確かにグルーピングする手間はへります ただアクセシビリティは落ちるので個人的には使いづらいと思います

kiseki777
質問者

お礼

他のプログラムでは問題がでてくることがあるのですね。 参考になりました。有難うございます。

その他の回答 (1)

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

>質問1 )) >チェックボックスの場合もそれ専用のものはありますか? おなじnameのチェックボックスを使用していますが、名前の競合を 起こしていますね。あまりよい使い方とは思えませんね ラジオボタンと勘違いしていませんか? 単純にデータをとるのは <input type="checkbox" name="bbb" id="b_1" onchange="func(this)" value="B1" /> と自分自身をなげてcheckedをチェックしてやればいいかと あとはdocument.getElementById("b_1")でアクセスするとか >質問2 )) >タイプ1では取得することができませんでした。正しいと思うのですが、なぜでしょうか。 >var chk = document.getElementById('uli').children; せめてdocument.getElementById('uli').getElementsByName("INPUT")として chk[i].type=="checkbox"やchk[i].name=="bbb"を調べるなどのアプローチでしょうか >質問3 )) >多くのサイトではタイプ1を使っているところが多いようです。 selectについては古いブラウザの因習ですね いまはタイプ2でもいけると思いますよ チェックボックスについてはformのelementsをぐるっと走査するのが 一番確実だと思います

kiseki777
質問者

お礼

いろいろと参考になりました。有難うございます。 ただ、一点気になったところがあります。 >おなじnameのチェックボックスを使用していますが、名前の競合を >起こしていますね。あまりよい使い方とは思えませんね http://www.tohoho-web.com/how2/form.htm http://www.tagindex.com/html_tag/form/input_checkbox.html http://plog.pya.jp/program/php/lesson08/sample04.html nameを同じにすることでグループを作ることができる、という説明がありますが 独立するかグループにするかで何が変わるのでしょうか?