- - PR -
【ASP.NET】CheckBoxListでAttributes("onclick")に設定したjavascriptが2回起動してしまう。
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-09-29 17:50
件名の通りチェックボックスリストで以下のソース
CheckBoxList1.Attributes("onclick") = "javascript:alert('TEST');" を設定したところ □ 選択肢1 □ 選択肢2 -- -------- A B Aのチェック箇所をクリックの際にはアラートが1度表示されるだけで 思惑通りに動作しているのですが、Bの選択肢部をクリックするとBを クリックした際にアラートが一度表示され、その後Aの箇所にチェック が入る際にもう一度アラートが表示されてしまいます。 これは仕様でしょうか? Bをクリックした際にアラートを1度だけ表 示させる方法をご存知の方ご教授願えますでしょうか? よろしくお願いいたします。 m(_ _)m | ||||
|
投稿日時: 2005-09-29 17:57
クリックされたのがBだったらアラートを表示するJavaScriptを書けばいい話なのでは。。。
| ||||
|
投稿日時: 2005-09-29 18:12
こんにちは。
.NET環境が無いため、べた書きHTMLで確認してみました。
上記ソースでは、B部分をクリックしてもアラートは1回しか表示されません。 問題のページがどのようなHTMLを出力しているか、確認してみてください。 #コードを短く修正 #日本語を修正 #「ガッ」が必要か悩む。。 [ メッセージ編集済み 編集者: 葉瀬崎浩樹 編集日時 2005-09-29 18:28 ] | ||||
|
投稿日時: 2005-09-29 18:21
とあるので、BのあとAをクリックしているんですよね? 当然、クリックイベントは発生します。というか発生しなかったら困ります。 | ||||
|
投稿日時: 2005-09-29 18:59
burton999様、葉瀬崎浩樹様ご回答ありがとうございます。
HTMLではテーブルが自動で作成され、テーブルのクリックイベントに対して Attributesで指定したscriptが動作していることが解りました。 ちなみに今回利用しているCheckBoxでは無く、CheckBoxListWebコントロールです。 ご存知かとは思いますが、CheckBoxListWebコントロールはデザイナ側でItemを定義 することにより複数個のCheckBoxを生成してくれるコントロールです。 でご回答遅れまして申し訳ございません。 始めにburton999様にご指摘を受けた方法をCheckBoxListのアイテムの方に定義 出来ないか調査しておりました。 引用: -------------------------------------------------------------------------------- とあるので、BのあとAをクリックしているんですよね? 当然、クリックイベントは発生します。というか発生しなかったら困ります。 -------------------------------------------------------------------------------- いえクリックしているのは Bの選択肢部分のみです。 Html: -------------------------------------------------------------------------------- <table id="CheckBoxList1" onclick="javascript:alert('TEST');" border="0" style="Z-INDEX: 101; LEFT: 288px; POSITION: absolute; TOP: 72px"> <tr> <td><input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1:0" /><label for="CheckBoxList1_0">選択肢1</label></td> </tr><tr> <td><input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1:1" /><label for="CheckBoxList1_1">選択肢2</label></td> </tr> </table> | ||||
|
投稿日時: 2005-09-29 19:09
こんにちは、じゃんぬ です。
おや? Table 全体に設定されてるように見えますけど... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-09-29 19:20
確かにテーブル全体にしているようです。
CheckBoxList1.Attributes("onclick") = "javascript:alert('TEST');" とした結果がこのようになりました。 なおテーブルは意図的に作成したテーブルではなく CheckBoxList webコントロールを利用すると自動的に作成されるテーブルです。 先に述べるべきでしたが、このチェックボックスリストは ページ作成時に動的に作成しようと考えているチェックリストボックスで デザインのHTMLビューで先にjavascriptを埋め込むことが出来ないものです。 一番重要な部分が説明不足でした、大変申し訳ございません。。 | ||||
|
投稿日時: 2005-09-29 19:49
訂正
こんなこと出来ませんね^^; 失礼いたしました。 |
1|2|3
次のページへ»