- PR -

Changedイベントのタイミングについて

1
投稿者投稿内容
よしな
常連さん
会議室デビュー日: 2003/06/16
投稿数: 20
投稿日時: 2004-08-27 21:59
いつも参考にさせてもらっています。

現在悩んでいる内容は
textのTextChangedイベントがどのようなタイミングで行われているかです。
例として
画面内にテキストボックスとドロップダウンのコントロールがあったとします。
ドロップダウンには、
DropDownListes(i).Attributes("onChange") = "JavaScriptの関数;"
が定義されており、テキストボックスはTextChangedイベントが設定されています。

その状態で、テキストボックスに入力を行いフォーカスがテキストボックスから外れる前にドロップダウンリストを変更します。

何度も行っていると、画面が真っ白になります。

いろいろ試してはみたのですが、実際の解決に達していません。
もし、同じようなことでお悩みになって方で解決策をご存知でしたら教えていただけないでしょうか?よろしくお願いします。

また情報的に不十分でしたらご指摘ください。

よろしくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-08-28 06:49
> textのTextChangedイベントがどのようなタイミングで行われているかです。

 AutoPostBackがTrueになっていれば、<input type="text">要素からフォーカスが離れたときです(と、MSDNに書いてある)。AutoPostBackがFalseの時は、フォームが提出されたときです。


> その状態で、テキストボックスに入力を行いフォーカスが
> テキストボックスから外れる前にドロップダウンリストを変更します。

 ???不可能では?<select>要素の変更を行うためには、<select>要素がフォーカスを受け取らなければなりません。従って、<select>要素を変更しようとした瞬間に<input>要素からフォーカスが離れます。

〜〜追加〜〜
 どうも気になっていることがあるのですが、サーバがで実行されるコードと、クライアント側で実行されるコードの違いを意識されているでしょうか?TextChangedイベントは、input要素のonchangedイベントの誤りでなければ、サーバ側で実行されるコードです。コンボボックスの方は、わざわざattibutesにaddしていますから、クライアントで実行されるコードであることを認識されていると思います。ここにずれがあるのですが、どのようにお考えでしょうか?


 サーバで実行されるコードが実行されるためには、フォームを提出しなければなりません。また、Windowsアプリケーションのchange系イベントが、リアルタイムに発生するのに対し、Web系では変更が確定したときに発生します。変更が確定したときというのは、フォーカスがはずれたり、Enterキーがクリックされた(フォームの先頭にあるsubmitボタンがクリックされた)時をいいます。このため、「123と入力するとき、コンボボックスの内容をキー入力にあわせて1番目、12番目、123番目に変更する」ということはできません。

[ メッセージ編集済み 編集者: Jitta 編集日時 2004-08-28 22:39 ]
1

スキルアップ/キャリアアップ(JOB@IT)