重新加载或关闭窗口时的确认警报,但在提交表单时没有

时间:2017-07-07 12:55:52

标签: javascript html forms onbeforeunload

我创建了一个表单并使用了窗口" onbeforeunload"功能,我已决定添加一个确认框,以便每次用户尝试关闭窗口或重新加载页面时,他都会收到一条警告消息。

问题在于消息是"更改可能无法保存"当我提交表单时,会弹出相同的确认错误!

除了提交表单之外,有没有其他方法可以获得这些确认弹出窗口?

我已经看到了一些堆栈交换问题,其中OP在重新加载但是没有关闭标签时要求提醒,反之亦然。即使在那些问题中,答案似乎也是如此......这是不可能的......"。 Have a look at this question, for instance.

所以,我觉得这里可能也不可能,但还有其他方法吗?例如,我可以将提交按钮设置为普通按钮,然后手动添加一些功能吗?

我对JavaScript / HTML / CSS有所了解,仅此而已。也许我可以学习另一种使其合理的语言?或者可能还有一个我还不知道的内在特征?

如果我能以某种方式在不使用其他语言的情况下实现它,那将是更好的选择,但如果这是唯一的选择,我会很好。

1 个答案:

答案 0 :(得分:0)

您可以在提交按钮中添加onclick="dontShowAnythingAndSubmit()"。 然后在表单外移动提交按钮。

定义你的函数以覆盖onbeforeunload。

function dontShowAnythingAndSubmit() {
    window.onbeforeunload = null;
    document.getElementById("yourForm").submit(); 
}

或者我没有完全理解你的问题?