2012-03-02 9 views
0

私は要素id "btn_submit"をwrite_okボタンに割り当てます。書き込みボタンを押さないと、警告を表示したい

私は次のことを望んでいた:

私はwrite_okボタンを押すと(私はwrite_okボタンを押さない場合)、
 が
 、他
を書くか、ページを終了する前に警告メッセージを行います。

どのボタンが押されたのかわかりません。

私はこれを見つけましたが、私はそれを動作させることはできません:jQuery: how to get which button was clicked upon form submission?

<script type="text/javascript"> 
$(window).bind('beforeunload', function(){ 
    if (#btn_submit was not pressed) 
     return 'If you exit the page, you may lose your changes'; 
}); 
</script> 

答えて

1

あなたが好きな何かを行うことができ、

<script type="text/javascript"> 
    var btn_submit_pressed = false; 

    $(window).bind('beforeunload', function(){ 
     if (btn_submit_pressed) 
      return 'If you want to exit page, you may lost your writing'; 
    }); 

    $('#btn_submit').click(function(){ btn_submit_pressed=true; }); 

</script> 
+0

WOW〜!!!素晴らしい〜!!! ' ' – OpenCode

0

あなたは変数を導入する可能性:

var isSaved = true; // at the beginning there's nothing unsaved 

するたびにユーザーの更新何か、セット:

isSaved = false; 

ユーザーが送信をクリックすると、次のように設定されます。

isSaved = true; 

はその後beforeunloadで、ちょうどチェック:

if(!isSaved) { 
+0

ご返信ありがとうございます。私はvarialeを追加する場合、私は多くの作品を行う必要があります。 – OpenCode

+0

@OpenCode:分かりません。これはかなり簡単です。これらの4行以上のコードを追加する必要はありません。 – pimvdb

+0

私はちょうどこれのようにしたい、http://stackoverflow.com/questions/5721724/jquery-how-to-get-which-button-was-clicked-upon-form-submission – OpenCode

0

Pawarのコードが大きなアイデアです。 コードを圧縮して生成するため、#btn_submitが「input submit」に変更されました。

メッセージは返されますが、IEはFirefox、chromeは表示されません。

<script type="text/javascript"> 
    var btn_submit_pressed = true; 
    $(window).bind('beforeunload', function(){ 
    if (btn_submit_pressed) 
     return 'if you leave this page, chages will be lost.'; 
    }); 
    $('#btn_submit').click(function(){ btn_submit_pressed=false; }); 
</script> 
関連する問題