- - PR -
textチェンジイベントとButtonクリックイベントについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-05-09 13:52
ASP.netで開発をしているものです。
TextBoxのtext_changeイベントとボタンのButton_clickイベントは両立できないのでしょうか? 現在、text_changeイベントのみ動いてしまう状況です。 これを両方イベントを発生させるか、Button_clickイベントのみ発生させたいと思っております。 どなたかご教授お願いいたします。 | ||||||||
|
投稿日時: 2004-05-09 15:01
『text_changeイベントのみ動いてしまう』というのが具体的にどういう状況なのかがいまいち掴めませんが、
『TextBoxの値を変更すると、勝手に(ボタンをクリックする前に)TextChangedのイベントハンドラが実行される』という意味なら、AutoPostBackプロパティの値を確認してください。 参考:TextBox.AutoPostBack プロパティ また、 「Button_clickイベントのみ発生させたい」のであれば、TextChangedのイベントハンドラを設定しなければよいのでは? イベントを発生させないようにはできないと思います。 ※上記AutoPostBackをFalseに設定した場合でも、ボタンクリック等のPostBack時にはイベントが発生しますので。 | ||||||||
|
投稿日時: 2004-05-09 15:20
テキストボックスの内容を変更した後カーソルを他に移動するとポストバックしてしまうのであれば、それはHeさんのおっしゃっているようにAutoPostBackがTrueに設定されているからです。
そうでなければ、サーバー側でテキストボックスのTextChangedイベントの後にボタンのClickイベントが起きているはずです。 確かめてみてください。 | ||||||||
|
投稿日時: 2004-05-09 15:27
Heさま さっそくのご返事ありがとうございます。
説明不足で申し訳ありません。 追加説明させていただきますと以下のようになります。 この処理というのが、 @テキストボックスに番号が入力された時にその番号が「000」ならばラベルにOK、それ以外の数字ならばNGと表示する。(テキストチェンジイベント) Aボタン押下時にテキストボックスに入力された番号が「000」かどうかチェックし、「000」ならば他のページに遷移する。(ボタンクリックイベント) の2つの処理からなっておりまして、テキストに番号を入力してフォーカスをテキストから 動かさずにボタンを押下すると、@の処理のみ実行してAの処理は実行しない状態になってしまいます。(ラベルにOKorNGと表示されるのみ) | ||||||||
|
投稿日時: 2004-05-09 16:10
おそらく、2でボタンを押せていないのだと思います。(テキストボックスのポストバック処理が実行されているため) ちょっと長いですが、動作を確認してみてください。ボタンを押せていれば、alertが表示されます。
で、対処方法ですが、わかりませんでした。私は基本的にAutoPostBackを使用しないもので。 # まさにこのような状態を懸念して。ASP.NETが生成するクライアントスクリプトはコントロールしづらいので。 # 余談ですが、同様の理由でValidatorのEnableClientScriptも使用しません。 なにかわかったらまた投稿します。おやくにたてず申し訳ないです。 | ||||||||
|
投稿日時: 2004-05-09 16:59
Heさま ご返事ありがとうございました。
いただいたコードを実行した結果、alert(メッセージボックス)は表示されませんでした。 こちらでももう少し考えたいと思っております。 ありがとうございました。 |
1