久しぶりにcheckboxの個数を調べる必要が発生したので、個数の取得方法を検証してみました。
基本的には、document.form_name.checkbox_name.lengthで取得できるのですが、問題は、チェックボックスが1個の場合
<form name="frm" > <input type="checkbox" name="hoge" value="1"> <input type="button" value="確認" onclick="lf_kakunin();"> </form> <script type="text/javascript"> function lf_kakunin(){ alert(document.frm.hoge.length); } </script> |
この場合、「undefined」と返されてしまいました。
次は、下のように少し変えてみました。
<form name="frm" > <input type="checkbox" name="hoge" value="1"> <input type="button" value="確認" onclick="lf_kakunin();"> </form> <script type="text/javascript"> function lf_kakunin(){ //チェックボックスの個数が1個の時 if(document.frm.hoge.length == "undefined"){ alert("1個です"); } } </script> |
この場合、何も起こりませんでした。
以上より、undefinedは文字列ではないことがわかったので、
<form name="frm" > <input type="checkbox" name="hoge" value="1"> <input type="button" value="確認" onclick="lf_kakunin();"> </form> <script type="text/javascript"> function lf_kakunin(){ //チェックボックスの個数が1個の時 if(document.frm.hoge.length == undefined){ alert("1個です"); } } </script> |
と、「"」をはずすと、無事、alertの部分が表示されました。
今回は、checkboxだったんでけど、radioボタンの時は、どうなるのか次回、検証してみたいと思います。
あと、今日は、IEで動作確認したんだけど、firefoxの場合でも、同じなのだろうか??
うーーーん。。。
チェックボックスのnameが"hoge"で、
返信削除ファンクションの方で取得しにいっている
オブジェクトはfooなのって何か意味あるのかな??
やっちゃった><
返信削除記事のバグです。
foo⇒hogeです。
コメントサンクス♪