我有一个 form.edit_recipe,我的目标是在页面卸载之前让这个表单成功保存(如果有新数据),而不需要用户提示。
这是 JQ 的关键部分:
$(document).ready(function() {
$(window).bind('beforeunload', function() {
if (auto_save_timer) { // auto_save_timer == true means there are changes
$("#auto_save_overlay").css('display', 'block'); // shows a spinner
$(".edit_recipe").submit();
}
});
});
单击指向下一页的链接时,有时更改会保存,有时则不会,即使在相同的情况和数据集下也是如此。
我 99% 确定我的其他变量和页面上的 JQ 不会影响这一点,但如果需要,我可以使用更多代码示例进行更新。
我迷路了,或者问题是什么,但我觉得这与表单数据被下一页加载中断有关。
有什么建议么?
编辑:感谢到目前为止的建议。我想我应该听从@see163 的建议,也许考虑强迫用户手动按下保存按钮,alert()
如果有未保存的更改,只需添加一个。这是一种更正统的方法吗?如果.beforeunload
在 Opera 和 Chrome 中是垃圾,我应该使用哪些 JQuery 事件/操作来实现跨浏览器友好?