我正在创建一个简单的函数,当用户即将退出网页时会向用户发出警告。我正在使用window.onbeforeonload函数是javascript。我正在做的是,由于window.onbeforeonload函数错误,我将变量设置为false。

function funky() {
var submitFormOkay = false;
window.onbeforeunload = function () {
    if (submitFormOkay == false) {
        return "You are about to leave this order form. You will lose any information...";
    }
}
}


在我的html中,这就是我在做什么

<input type="submit" id="submit_button" onclick="submitFormOkay = true;">


但是,我的问题是我需要一种方法来激发函数funky()。
我知道我可以使用onclick,但是如果我做的话,将要设置SubmitFormOkay的值。

任何帮助,将不胜感激。

最佳答案

为什么不将submitFormOkay设为函数funky的参数,而仅使用给定的参数调用它?

<input type="submit" id="submit_button" onclick="funky(true);">


并在JS文件中:

function funky(submitFormOkay) {
     window.onbeforeunload = function () {
        if (submitFormOkay == false) {
           return "You are about to leave this order form. You will lose any information...";
        }
    }
}

09-16 21:58