相关疑难解决方法(0)

仅在字段值更改时激活OnBeforeUnload

我想要实现的是,如果他/她试图关闭页面或远离它而不先保存,则警告用户未保存的更改.

我设法让OnBeforeUnload()对话框弹出...但如果用户没有修改任何字段值,我根本不希望它显示.为此,我正在使用名为is_modified的隐藏输入字段,该字段以默认值false开始,并在编辑任何字段时翻转为true.

我尝试将change事件绑定到此is_modified字段以尝试检测值更改...然后才激活OnBeforeUnload.

$( '#is_modified' ).change( function() {
    if( $( '#is_modified' ).val() == 'true' )
        window.onbeforeunload = function() { return "You have unsaved changes."; }
});
Run Code Online (Sandbox Code Playgroud)

但是从我的想法来看,change()事件仅在这3个步骤之后起作用 - 一个场获得焦点,一个值被改变而场失去了焦点.在隐藏输入字段的情况下,我不确定这个接收和失去焦点部分是如何工作的!因此,永远不会激活onbeforeunload函数.

任何人都可以建议一种方法来维持is_modified的触发器吗?

谢谢.

javascript conditional triggers dialog onbeforeunload

21
推荐指数
4
解决办法
2万
查看次数