asp.net 3.5ページでは、ユーザーがフォームを進行するときにTextChangedイベントで非同期ポストバックを発生させる複数のテキストボックスがあります。ユーザーがフォームを完了すると、「Submit」ボタンが押されて、javascriptの「確認」ダイアログを含むフォームが送信されます。ユーザーがすべてのフィールドをオフにしている限り、すべて正常に動作します。ユーザーは、テキストボックスのいずれかの値を変更し、ボタンをクリックした場合しかし、W /テキストボックス、「onClientClick」火災を出Oが、「確認」は、次の特定があるかどうページがポストバックされていません。しかしJavascript 'confirm()'ポストバックをキャンセルする
onClientClick = return confirm('Are you sure you want to submit?'); //Page Does Not Post
ページ上で確認を削除すると、ポストバックを行います。
onClientClick = return true; //Page Posts
ボタンが<asp:PostBackTrigger/>
です。テキストボックスの<asp:AsyncPostBackTrigger/>
は、ボタンと同じ更新パネルにあります。私は同じ結果で別のアップデートパネルに移動しようとしました。
また、これは、ユーザーがテキストボックスを変更し、ボタンをクリックする前にタブオフしていない場合にのみ発生します。ボックスからタブを外しても問題ありません。私も(確定する前に5秒を待つことを除いて)、その後の確認を表示するフォームが、同じ結果を提出する前に5秒を待つようにコードを入れている:
var dt = new Date();
dt.setTime(dt.getTime() + 5000);
while (new Date().getTime() < dt.getTime());
return confirm('Are you sure you want to submit?');
任意のアイデアやまともな回避策?
ありがとうございます!
あなたはどこにブレーキポイントを入れましたか? Page_LoadまたはTextChangedにありますか? –
confirm()の結果に関係なく、Clickでポストバックを行いますか? –
@ARS私は彼がYESでのみポストバックを望んでいると思う..または '確認'はうまく動作しません –