- - PR -
Javascriptでのオブジェクト名の変数化
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-01 14:41
現在ASPにて開発中なのですが
Javascriptについて質問させて頂ければと思います。 チェックボックスが20個あり その名前を name="Check01"〜"Check20"としてあります。 データ登録時に"Check01"〜"Check20"にチェックが一つもされていないと エラーメッセージを出力する機能を作成中です。 チェックボックスのチェックカウント取得の為 下記のようなスクリプトを組みたいのですがうまく動作しません。 for (i=1;i<=20;i++){ if (document.form01.Ckeck + i + .checked){ count = count + 1; } } 「document.form01.Ckeck + i + .checked」 の部分を変数を使用して表現できないのでしょうか? 分かる方がいらっしゃいましたら教えて頂ければと思います。 | ||||||||
|
投稿日時: 2006-11-01 14:51
ASP.NET ではなく、ASP でしょうか?
HTML として作成されたチェックボックスの名前は確認されましたか? | ||||||||
|
投稿日時: 2006-11-01 14:56
このループおかしいですね。
デバッグすれば一目瞭然かと思います。 Ckeck + i デバッグすればこれが明らかにおかしいことが分るはずです。 変数名でチェックする方法はあります。 しかしまず、このループのおかしいところを正してください。
[ メッセージ編集済み 編集者: あすか 編集日時 2006-11-01 15:02 ] | ||||||||
|
投稿日時: 2006-11-01 14:57
ひろれい様
ASP.NETではなくASPです。 HTMLで作成した20個のチェックボックスの名前はCheck01〜20です。 チェックボックスの名前が全て同じなら for (i=1;i<=20;i++){ if (document.form01.Ckeck[i].checked){ count = count + 1; } } としてカウントが取れるのですが、 チェックボックスが連番で全て別の名前になってしまっているので苦労しております。 | ||||||||
|
投稿日時: 2006-11-01 15:02
とあるので、i=1 の時なんか取れないなぁ、と思った次第です。 | ||||||||
|
投稿日時: 2006-11-01 15:04
間違いがありました。
チェックボックスの名前はCheck01〜20ではなくCheck1〜20でした。 あすか様が指摘されている Ckeck + i は名前がCheck01なのにCheck1と指定してはエラーが起こって当然 とのご指摘かと思われます。 申し訳ありません。 | ||||||||
|
投稿日時: 2006-11-01 15:06
JavaScriptは長いことやってないんですが、
そのCheck1〜Check20を配列か何かに格納してループさせたらいいんじゃないかなと思いますが。 Checkコントロールに名前持たせられる・・・ かどうかは分からないけど持たせられたらそれで判断するとか。 [ メッセージ編集済み 編集者: taka 編集日時 2006-11-01 15:07 ] | ||||||||
|
投稿日時: 2006-11-01 15:11
件名と上記引用からして、
ということなのかと思っていましたが。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |