0

beforeunload()ユーザーの操作に応じて、jQuerys機能の変更に問題があります。

$(document).ready(function() {
    $(window).bind('beforeunload', function() {
        if (billChanged == false) {
            return false;                    
        }
        else if ( savebutton was clicked ) {
            return false;
        }
        else { 
            return "refreshing page without saving, huh? you're a bad boy!";
        }
    }); 
}); 

else if上記のスニペットの句に入力されているように、「保存ボタン」がクリックされたかどうかを確認する方法を思い付くことができないという問題があります。

フォーム自体は非常に複雑で、それほど変更することはできません。

4

2 に答える 2

3
$(document).ready(function() {
    var not_saved = true;
    $('#saveButtonId').on('click', function() {
        not_saved = false;
    })

    $(window).on('beforeunload', function() {
        if (not_saved && billChanged)
            return "refreshing page without saving, huh? you're a bad boy!";
        }
    }); 
}); 
于 2012-10-02T08:51:28.863 に答える
0

グローバル変数を定義できます。ボタンの値onclickを変更してから、関数で確認してください

var clickedButton = false;

次に、HTML

<input type="button" .... onclick="clickedButton=true;">

そしてあなたの機能で

else if ( clickedButton ) {
  return false;
}
于 2012-10-02T08:54:50.150 に答える