2009-04-07 3 views
0

ここで私がしたいことがあります。ユーザーが自分の投稿を削除できるようにしたいが、最初に確認する必要があるので、ユーザーが「削除」リンクをクリックすると、「はい」と「いいえ」(標準のJavascriptの確認ダイアログ)の確認ダイアログが表示されます。ユーザーは「いいえ」を選択し、何も起こらず、ページはポストバックされませんが、「はい」を選択した場合、ページはサーバーにポストバックされます。ASP.NETのJavascriptでこれをどのように行うことができますか?javascriptからページ投稿を制御するには?

おかげ

編集: おかげでたくさんの男は、私がOnClientClick =「リターン確認(」?あなたはよろしいです「)のために行くだろうと思います。」

答えて

2

あなたは(背後にあるコード内)を行う必要があります。

  1. 文字列
  2. として、あなたのボタンのポストバックの参照を取得するためにClientScriptオブジェクトを使用しfollowignが含まれるように、ボタンのOnClientClickプロパティを変更します。 javascriptと以前に取得した参照:

    btn.OnClientClick = "返信確認( 'よろしいですか?');" + btnPostbackReferenceString;

  3. 利益。

+0

回答ありがとうございますが、btnPostbackReferenceStringには何が必要ですか? –

+0

ボタンがクリックハンドラを変更する前に発生したイベントをまだ発生させるようにします。 – cjk

+0

+1 "Profit!" ;-) – Cerebrus

1

そのようなあなたのボタンに確認を追加します。

submitButton.Attributes["onclick"] = 
    "if (!confirm('Do you want to continue ?')){return false;}"; 

ユーザーが何を選択した場合、falseを返しますを確認していないし、あなたのコードはfalseを返し、ポストバックが回避されます。

返信( 'some text')を返信すると、ユーザーの選択にかかわらずポストバックは回避されます。

+0

ああ、なぜですか?私はOnClientClickを使用しようとしました= "返品確認( '本当ですか?');"それはIE6とFF3で正常に動作しましたが、それはいくつかのブラウザで問題を引き起こしますか? –

+0

さらに、私はページソースをチェックして、ASP.NETがonclickに何かを追加するのを見ていませんでした –

+0

もし本当ならtrueを返すかどうかはわかりません...? – cjk

関連する問題