- - PR -
ASP.NETにおけるJavascriptのonChangeイベントについて
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-02-24 14:49
いつも勉強させていただいております。
現在ASP.NETにおいてWebアプリケーションの開発を 行っておりますが、わからないことがあるので どなたかお教えいただきたいと思います。 わからないことというのは、 ASP.NETにJavascriptを埋め込んで開発を行っているのですが、 JavascriptのonChangeイベントやonKeyPressイベントを記述したときに タスク一覧に 「要素'TextBox'の属性'onChange'が見つかりませんでした。」 のエラーメッセージが出力されます。 しかし、そのまま実行するとプログラムは実行されるし onChangeイベントも正しく機能しています。 これは、本当に正しく機能されているのでしょうか? また、onChangeイベントを記述しなければValidationSummaryは きちんと機能しますがonChangeイベントを記述すると正しく機能しなくなります。 これもエラーが表示されるのと関係があるのでしょうか? どなたかおわかりの方がいればお教えいただきたいと思います。 よろしくお願いいたします。 | ||||
|
投稿日時: 2004-02-24 17:30
ValidationSummary云々とか分からないですので
自分の思っていることは的外れかも知れませんが・・ <asp:TextBox>にonChangeを直接書き込んでいるのでしょうか? Page_Load内にて TextBox1.Attributes.Add("onChange", "javascript関数名") とする方法を使用するのはどうですか? | ||||
|
投稿日時: 2004-02-24 17:46
とりあえず、差し支えなければソースを公開した方が早いかと。
_________________ まゆりん @ わんくま同盟 Blog る。 | ||||
|
投稿日時: 2004-02-24 17:54
きちさん、まゆりんさんご返事ありがとうございます。
すみません。ソースは下記のようになっています。 <TD class="ditailcell"><asp:textbox id="TextBox1" onChange="Calculation(1)" onKeyPress="return KeyCheck()" runat="server"MaxLength="16"CssClass="txtBoxKin">0</asp:textbox> | ||||
|
投稿日時: 2004-02-24 20:47
<asp:textbox>にonChangeなんてありました?少なくとも、私の環境(VS.NET2003)では、インテリセンスに出てこないのですが?
| ||||
|
投稿日時: 2004-02-25 09:17
Jittaさんご返事ありがとうございます。
確かにインテリセンスには出てこないのですが(私もVS.NET2003を使用しています)、 試しに記述してみたところ動作したので問題ないと思ったのですが・・・。 <asp:textbox>にはOnTextChangedがあると思いますが、これを使用して同じようにJavaScriptのfunctionを実行しようとすると 「BC30456: 'Calculation' は 'ASP.Form1_aspx' のメンバではありません。」 というコンパイルエラーが出てしまうため先述のようにしてみたのです。 やはり、何かまずいでしょうか? | ||||
|
投稿日時: 2004-02-25 09:27
HTML側(デザイン)はビルドしない(ていうか出来ない)ので
エラー表示されていても実行します。 確かにWebサーバコントロールにはonChangeなどのイベントはありません。 しかし、実行してブラウザに表示された時は <input name="TextBox1" type="text" maxlength="16" id="TextBox1" class="txtBoxKin" onChange="Calculation(1)" onKeyPress="return KeyCheck()" /> と表示されますので、エレメントに対するイベントとしては正しいです。 #個人的には直接入れるより #TextBox1.Attributes.Add("onchange","Calculation(1)") #ってやりますけど。 で、私が確認したかったのは提示していただいた個所(textbox)ではなく、 ValidationSummaryの方だったりするんですね^^;
正しく機能しないというのは具体的にどういうことですか? ※確認環境:VS.NET2003 _________________ まゆりん@人生Try and Error!(笑) [ メッセージ編集済み 編集者: まゆりん 編集日時 2004-02-25 09:33 ] | ||||
|
投稿日時: 2004-02-25 09:30
1.WEBサーバーコントロールのjavascriptのイベントについて
きちさんのご指摘通り、コードビハインド側で TextBox1.Attributes.Add("onChange", "Calculation(1)") TextBox1.Attributes.Add("onKeyPress", "return KeyCheck()") とするのが普通だと思います。 2.ValidationSummaryが正しく機能しないことについて ValidatorのonChange ⇒ 自分で記述したonChange の順番でイベントが発生していると思われます。 従って、Summaryには1アクション前の検証結果が表示されているのでは・・・? スクリプトデバッガで確認してみましょう。 過去スレッド↓ http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8774&forum=7 |
1|2|3
次のページへ»