0

注:回答としてマークされた回答は、タイトルの質問に回答します。ただし、タイプアヘッドドロップダウンを使用する私の根本的な問題は、IE8に移行することで解決されます。

ドロップダウンリストがあり、新しい選択をクリックすると、ポストバック( "this.form.submit()")が発生しますが、ドロップダウンリストをクリックすると選択が変更された場合に限ります。

OnChangeは機能しないことに注意してください。これは、キーボードによって選択が変更された場合、タイプアヘッドドロップダウンリストであるため、ポストバックしたくないためです。

また、OnChangeを使用して、変更がマウスによるものかどうかを確認できると思います。

たぶん、両方の解決策を考え出すことができ、どちらがよりうまく機能するかがわかりますか?

どうもありがとうございました!!!!!

編集:詳細情報:

AutoPostback = true; 動作しないでしょう。(キーボードによって選択が変更されたときにポストバックされたくない)

onBlur = doPostBack; これを試しましたが、結果は最適ではありません。ユーザーは、マウスで選択した後、ddlをクリックする必要があります。

私がやりたいことを述べる別の方法は、OnChangeイベントとOnClickイベントの両方が同時に発生したときにポストバックを実行することだと思います。

4

2 に答える 2

1

OnClickイベントで、ddl.value=trueを設定するjavascriptがあります。

OnChangeイベントで、ddl.Value = trueであるかどうかを確認し、そうであれば、ポストバックしてfalseに設定します。

OnKeyDownで、ddl.Value = falseを設定して、ddlをクリックしたときに、マウスで選択を変更した場合にのみポストバックし、キーを押して先行入力機能を使用してもポストバックしないようにしました。

最もエレガントな解決策ではありませんが、それは機能し、創造性のために私に信用を与えなければなりません。

注:このソリューションは、type-ahead-ddlを実行するOnKeyDownで起動するスクリプト(つまり、キーを押すと最も近い選択に移動する)と組み合わせて機能し、Enterキーを押すとポストバックします。

于 2010-07-29T10:48:28.653 に答える
0

AutoPostBack = "true"を試しましたか?

于 2010-07-26T13:30:07.450 に答える