通过导航离开页面防止丢失表单数据

GST*_*TAR 6 javascript forms jquery

我正在创建一个包含数百行的数据网格,每行包含一个复选框,以便用户可以从网格中选择一个项目.

现在,用户可能花费大量时间过滤/搜索网格并勾选所需的复选框,只是意外地按下键盘上的退格键或单击页面上的超链接.他们会丢失所有的复选框选项.

因此,我想介绍一些功能,如果至少勾选了一个复选框,那么如果用户无意中执行了将其导航离开页面的操作,则会显示JavaScript确认消息以通知用户此操作.

复选框都属于同一组,例如它将被称为"产品".

这有可能吗?

pim*_*vdb 11

beforeunload当用户导航时会发生一个事件:http://jsfiddle.net/FprNV/1/.

返回一个字符串会导致出现一条带有两个按钮的消息(保持/导航); 这个对话框的确切实现因浏览器而异.

$(window).bind('beforeunload', function() {
    var checkboxcount = $("input:checkbox:checked").length;
    if(checkboxcount > 0) {
        return 'Are you sure?';
    }
});
Run Code Online (Sandbox Code Playgroud)