javascript - 通过离开页面防止丢失表单数据

标签 javascript jquery forms

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

现在,用户可能会花费大量时间在网格中过滤/搜索并勾选所需的复选框,结果却不小心按下了键盘上的退格键或单击了页面上的超链接。而且他们会丢失所有的复选框选择。

所以我想介绍一些功能,如果至少勾选了一个复选框,那么如果用户无意中做了一个将他们导航离开页面的操作,那么会显示一条 JavaScript 确认消息来通知用户这一点.

复选框都属于同一个组,例如它会被称为“产品”。

这有可能吗?

最佳答案

有一个 beforeunload 事件发生在用户导航离开时:http://jsfiddle.net/FprNV/1/ .

在那里返回一个字符串会导致出现一 strip 有两个按钮(停留/导航)的消息;此对话框的确切实现因浏览器而异。

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

关于javascript - 通过离开页面防止丢失表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6808630/

相关文章:

javascript - 降低对象列表之间比较的复杂度 O^2

jquery - 在 jQuery Datepicker 上突出显示 MySql 日期

html - Bootstrap 表单布局,2 列

c# - 使用以一种形式声明的变量,以另一种形式c#

forms - PowerShell 取消按钮停止脚本

javascript - 如何用javascript编写弹出窗口

javascript - 如何为 `<g id="child">` element under ` <svg id ="parent">` 获取转换属性的元素设置静态 SVG 大小

javascript - Chrome 中可以使用书签吗?

javascript - jQuery 的动态宽度 = 高度

javascript - 在单个 ajax 调用中发布 json + 表单数据