在javascript中编辑提示

时间:2010-07-28 07:12:35

标签: javascript

在我的Web应用程序中,我有一个包含多个输入值的页面,并且如果用户尝试使用未保存的信息输入,则确认用户想要离开页面(类似于退出Microsoft Word时的提示)未保存的文档更改)。我想显示一条自定义信息:“您已经进行了未保存的更改。您真的希望离开页面吗?”我怎么能这样做呢?

1 个答案:

答案 0 :(得分:2)

您需要在所有输入上使用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();">