- - PR -
チェックボックスのdisabledについて
1
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-04-09 11:50
こんにちわ
現在、asp.net2003で cbxAというチェックボックスがチェックされたらcbxBというチェックボックスが使用可能にするという処理をjavascriptで実装しています。 if (document.getElementById('cbxA').checked == true) { document.getElementById('cbxB').disabled = false; }else{ document.getElementById('cbxB').disabled = true; } この処理をcbxAのonclickイベントで呼び出しています。 cbxBをC#側のpage_load時にenabled=trueにしていると基本的にはうまく動くのですが、 enabled=falseにしていた場合、動作しなくなってしまいます。 エラーにはならないのですが、無視されているようです。 値の設定などはfalseでも出来るのですが、disabledだけ動作しません。 どなたかご存知の方いませんでしょうか。 (ちなみにチェックボックスのイベント処理をPostbackで設定するやり方はPostbackを減らす目的で今回javascript側の処理に移行しているので出来ません) | ||||||||||||||||
|
投稿日時: 2007-04-09 12:54
CheckBox メンバ
disabledプロパティって見当たらないんだけど・・・ enabledプロパティにFalse設定するんでわ? System.Web.UI.WebControls.CheckBoxですよね? | ||||||||||||||||
|
投稿日時: 2007-04-09 13:05
disabledを設定しているのはjavascript側です。
javascriptだとdisabledが設定できるのですが、 javascriptだとdisabledじゃないとうまく動かなくないですか? おしゃる通りSystem.Web.UI.WebControls.CheckBoxです。 | ||||||||||||||||
|
投稿日時: 2007-04-09 13:22
失礼。クライアント側の話でしたね、ものすごい勘違いしてました。
むか〜しの同じような話 根底部分は未解決のようですけどかえでさんの発言あたりを参考までに・・・ | ||||||||||||||||
|
投稿日時: 2007-04-09 13:36
動作している環境が JavaScript なのか、それとも C# なのかがわかり
にくくなっているために、未記入さんに勘違いをさせている可能性がありそ うな気がします。
このコードは JavaScript なのは見ればわかるのでまぁいいとして。
この時点での「cbxA の onclick イベント」はたぶん JavaScript なんじゃ ないかなー?ぐらいに曖昧だと思うのです(文章としてね)。 まぁコードが JavaScript なので、やっぱり JavaScript だろう…と脳内 では一応の解決をみるわけですが、たまにサーバとクライアントの違いが 認識できていない質問を見かけるので、ついそこで懐疑的になってしまう わけです(トリさんは大丈夫だと思いますが)。 ただ
この文章は結構グレーかなぁと。 C# 側の、と正しく書いているわけですが、ちょっと読み飛ばしてしまうと page_load も enabled=true も JavaScript で書きそうなコードだし …えっとどっちのことやろ?とパニックになりそうです。 とまぁ、戯れ言はこの辺にして。 本題ですが、とりあえず出力されている HTML を見てみないことには何と も言えないかもなぁ…でも手元に ASP.NET の環境ないしなぁ…と思って いたところ、こんなスレッドを見つけました。 ここで
という話が出ていますが、この span には名前がないので JavaScript で操作するのは難しそうですね。 ………思考中です。しばらくお待ちください。 えーと、アレだ、 System.Web.UI.WebControls.CheckBox.Enabled プロパティを使 わずに、Attributes["disabled"] = "true"; とかやってみたり。 # と、妄想にふけっていたら未記入さんに先を越されてしまったわけだが _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||||||||||||||
|
投稿日時: 2007-04-09 14:02
>ぽぴ王子さん
ちょっと書き方曖昧でしたね。すみません もうちょっとわかりやすい文章書くように注意します。 未記入さんのリンクとぽぴ王子さんのリンクから SPAN要素のDISABLED属性も変更しないといけないということみたいですね。 そこで、 document.getElementById("cbxB").parentElement.disabled = false を設定してみたところうまく動きました。 ただ、ぽぴ王子さんのリンクの中でモン吉君さんの 引用: -------------------------------------------------------------------------------- JavaScriptによる処理で終了する場合、checked属性が期待しない結果になります。 -------------------------------------------------------------------------------- というのがちょっと気になってますが... とりあえず、解決したと思います。 ありがとうございました。 |
1