2012-05-11 11 views
1

jqueryダイアログを使用しています。ユーザーがOKをクリックすると、サーバー側のonclickイベントが発生するはずです。キャンセルをクリックすると何も起こりません。jqueryボタントリガーサーバー側onclickイベント

私は最初にpreventDefault()関数によってクリック機能を防止する必要があります。

$(document).ready(function() { 
     $("#<%=submit.ClientID %>").click(function (event) { 
      event.preventDefault(); 
       $("#confirm").dialog({ 
        buttons: { 
         "OK": function() { $(this).dialog("close"); 
           Here should be the code to trigger the server side click event 


        }, 
         "Cancel": function() { $(this).dialog("close");}, 
        } 
       }); 
     }); 
    }); 

サーバー側のonclickイベントをトリガーする方法がわかりません。何か案は?ありがとう

+0

javascriptからサーバーサイドで何かを行う唯一の方法は、ajaxリクエストを送信するか、現在のページまたはiframeのいずれかを通してフォームを送信することです。サーバー側でクリックイベントを発生させるにはどうすればよいですか? GUIはサーバー側に存在しません。 –

+0

@KevinB私はjqueryの初心者です。私が知っているasp.netボタンはonclickイベントとonclientclickイベントを持っています、onclickイベントはサーバー側にあります。ユーザーが「ok」をクリックするとそのイベントを発生させます – pita

+0

答えの1つが役に立ちましたか?もしそうなら、答えに印を付けて、フィードバックを送ってください。 – lucuma

答えて

0

event.preventDefault()をキャンセル部分または何らかの条件に入れてクリックする度に実行されていないようにします。

0

私はあなたがサーバー側とクライアント側の間で混乱していると思います。 通知する必要があるサーバー側でイベントをトリガーしたい場合(ajax呼び出しで行うことができます)。クリックイベントは、サーバー側で何もしないクライアントサイドのイベントです。 ajax呼び出しによって、好きなものをサーバーに通知するための「OK」機能の下にコードを挿入してみます。

とにかく、event.preventDefault()コールを「キャンセル」機能に移動する必要があります。

編集:それにアプローチする別の方法は、送信したくない場合に提出を防ぐことです。フォームタグでonsubmit="foo()" を追加して定義します。

function foo(){ 
    //call your dialog and return true to continue the submit and false to cancel. 
} 
+0

event.preventDefault()を "cancel"関数に移動すると、ポップアップダイアログの "ok"をクリックする前に "submit"ボタンをクリックするとサーバー側コードが実行されます – pita

+0

(あなたのように)最初に置いて、 "OK"関数で$( "#your_form_id")。submit()を呼び出すか、代わりにajax呼び出しを作成する必要があります。 –

+0

これは私の問題ですが、私は$( "#your_form_id")を使用しようとしました。submit_onClick()関数はサーバ側で起動せず、私はajaxの使い方を知らないので、私はいくつかの例ですか? – pita

0

それは(彼らはとても広く、彼らは変更されないことを使用している場合でも)実装の詳細に少し依存して見えますが、コードはこれです:

__doPostBack('submit','OnClick'); 

submitという名前のコントロールのイベントハンドラOnClickが実行されます。参考として、この小さなチュートリアルhow postbacks works in ASP.NETを見てみましょう。

+0

@ピタ私はID「submit」のボタンに関連するいくつかの問題(いくつかのブラウザでは)を覚えています。私は情報が歓迎されるようにはわからない。とにかくこれは仕事でなければなりません(私もそれを使用します)しかし、あなたは何かにあなたのボタンの名前を変更する必要があります。 –

関連する問題