0

テキストボックスがあり、送信ボタンをクリックした場合を除いて、変更を保存せずにページを離れるときにアラートを表示したいと考えています。これはうまく機能しますが、送信ボタンが押された場合でも警告が表示され、修正方法が本当にわかりません.

BBcode のアクションを実行する Set.js と script.js の 2 つのファイルがあります。

script.js

$(document).ready(function() {
    var saveClicked = false;

    $(window).bind('beforeunload', function() {
        if(y != $("#markItUp").val()) {
            if(!saveClicked) {          
                return 'You have unsaved changes!';
            }
        }
    });
});

Set.js

{
    name: 'Save',
    className:"miu-save",
    call: function() {
        $('form#edit').submit(); 
        saveClicked = true;
    }
},
4

3 に答える 3

1

saveClickedのアウト側を置きますdocument.ready。そうすればグローバルになり、その値をtrueまたはに設定できるのは1つだけfalseです。

したがって、スクリプトは次のようになります。

  var saveClicked = false;
  $(document).ready(function(){

$(window).bind('beforeunload', function(){
   if(y != $("#markItUp").val()){
     if(!saveClicked){           
   return 'You have unsaved changes!';
  }}
 });
});
于 2013-04-23T08:40:50.223 に答える
0

これがうまくいくかどうかはわかりませんが、おそらくあなたがやることから始めれば

saveClicked = true;

そしてその時だけ

$('form#edit').submit();

それはトリックを行うでしょう。

于 2013-04-23T08:36:22.787 に答える