javascript编辑提示

时间:2010-07-28 08:24:36

标签: javascript-events

我正在创建一个Web应用程序,当用户想要从页面导航时,我必须在其中显示编辑提示。

我想仅在用户在该页面上编辑了某些值并且他没有保存更改时才会显示此信息,然后提示将询问“您是否要保存更改?”。否则,如果他保存,则提示不会出现。

类似于MICROSOFT WORD / EXCEL的编辑提示,通知您正在进行更改,是否继续进行。

请迅速给出解决方案吗?

3 个答案:

答案 0 :(得分:1)

您可以使用onbeforeunloadhttps://developer.mozilla.org/en/DOM/window.onbeforeunload

然而,支持是有限的,因为它基于微软发明的东西而其他人只是复制了它。在不支持此事件的浏览器中,无法执行您想要的操作。

答案 1 :(得分:1)

从我对此问题第一个副本的回答中复制:Editing prompt in javascript

您需要在所有输入上使用change事件来检测用户所做的任何更改。此事件不会冒泡,因此您需要单独将其附加到每个输入。然后,您需要在beforeunload对象上使用window事件来提示用户。

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

    function inputChanged() {
        anythingEdited = true;
    }

    window.onbeforeunload = function(evt) {
        if (anythingEdited) {
            evt = evt || window.event;
            evt.returnValue = "You have edited something. If you click OK, your changes will be lost.";
        }
    };
</script>

First name: <input type="text" id="firstName" name="firstName" onchange="inputChanged();">

答案 2 :(得分:0)

您可以为表单字段中的任何更改添加侦听器。在更改任何内容时,您可以设置脏标志。保存后,您可以重置相同的内容。

但是,请参考jQuery。它可能有内置的东西。