これ何て呼びますか

現在、HTMLで「全設定」というボタンを作成し、このボタンがクリックされたとき、全てのチェックボックスにチェックを入れる機能をjavascriptで、作成しています。
1番目のチェックボックスは、document.form1.box1.checked = true;
で設定が出来、同様に、N番目は
document.form1.boxN.checked = true;(N=1~上限が不明)
で設定が出来ることは確認しました。
ここで、Nの値が事前にわかっていれば、問題ないのですが、毎回表示される毎に、Nの上限が変わります。
それで、上限が10だとすると、N=11でエラーになるので
document.form1.box11が実存するか否かを判定する方法があれば、
解決するのですが、その方法がわかりません。
指定されたオブジェクト(この場合はdocument.form1.box11)が実存するか否かを判定するメソッド又は関数(又はそれ以外の方法)があれば、ご教示下さい。

A 回答 (1件)

if (document.form1.box11) などで判定すれば、値がundefinedやnullの場合はfalseとなりますので、チェックすることがが可能です。


(form1が存在することが前提。存在しないと値を求める時にエラーになる。)

数を知りたければDOMで取得しても可能です。
例えば、form1内のチェックボックスの値を、引数flg(true/false)に応じて全てセット(/リセット)するには、こんな方法でも可能です。
function test(flg){
var elm = document.forms['form1'].elements;
for (i=0; i<elm.length; i++) if (elm[i].nodeName=='INPUT' && elm[i].type=='checkbox') elm[i].checked = flg;
}

この回答への補足

うまくいきました。ありがとうございました。

補足日時:2009/07/28 13:04
    • good
    • 0
この回答へのお礼

ありがとうございます。早速if (document.form1.box11) の方法で確認してみます。

お礼日時:2009/07/28 12:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!