• ベストアンサー

スクリプトで表示したフォームの内容をコレクションするには?

こんにちは。 実は今使っているのはVBScriptなのですが、 こちらにノウハウを持った方が多そうなので投稿させていただきました。 スクリプト上で str = str &"<input type=checkbox name=CkBx id=CkBox0></td>" のようにして作成した数十個のチェックボックスに チェックを入れてフォームボタンを押したときに、 それぞれのチェックボックスの状態を知りたいのですが、 知ることは可能でしょうか? チェックボックスを作成する際に nameをCkBx0,CkBx1,, のようにすれば直接中身を参照できるのですが、 数十個あるチェックボックスに対して行うのは 大変なので、よい方法があれば教えて下さい。 よろしくおねがいします。

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

  • ベストアンサー
  • m035
  • ベストアンサー率44% (38/86)
回答No.1

私が思いつくのは var max=10;//checkboxの数 var log=new Array(max); for(i=0;i<max;i++){ log[i]=<変更部分>; } <変更部分>を 方法1 document.<form名>.getElementById('CkBox'+i).value <form名>. は要らないかもしれません。 方法2 document.<form名>.elements[i].value <form名>にはform名か forms[0](←0の部分には何番目の<form>~</form>か入れる) を入れる。 以上の二つが考えられます。 誰か間違ってたら訂正よろしくお願いします。

worldwind
質問者

お礼

document.getElementById("CkBx").checked で取ってくることができました! <div>~</div>の中にスクリプトで出したフォームに対しても難なく適用できるんですね。 おかげさまで、たくさんのフォームの処理ができるようになりました。 大変参考になりました。 どうもありがとうございました!!

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

同じ名前を付けているのなら set cb= document.getElementsByName("CkBx") の様にすると コレクションで cb(0)~cb(9)でそれぞれのチェックボックスが調べられます cb(1).checked cb(1).value とか 違う名前を付けているのなら、 いったん、配列を作成して、そこにそれぞれのチェックボックスを dim cb(10) set cb(0)=document.getElementById("CkBox0") のように、最初にセットするようにするのが楽だと思います。前述と同じように使える

worldwind
質問者

お礼

お返事が非常に遅くなりまして申し訳ありません。 名前の配列からも調べることが出来るのですね。 大変参考になりました! どうもありがとうございました。

  • m035
  • ベストアンサー率44% (38/86)
回答No.2

すいません。 value ↓ checked でした。 これでlogにチェックボックスがチェックされていればtrueが、チェックされていなければfalseが代入されるはずです。

関連するQ&A