情况就是这样:
有一个包含许多输入字段的界面和一个“保存”按钮来更新输入。 保存将包括许多过程,如验证,用户确认,添加注释或取消更新。
要离开此界面,有很多选项,例如点击标签,点击不同的按钮,按键盘快捷键等等。
用户试图离开时的预期行为是系统应该检查未更新的字段,如果有的话,应该要求用户更新或忽略它。
如果用户选择“忽略”,没问题,请继续导航。
但是如果用户选择“更新”,那么系统应该暂停当前导航并执行包含许多其他过程的更新处理程序。成功完成这些更新程序后,系统应从暂停点开始继续暂停界面导航过程。
样本:
//something like this
$('#nxtPage').live("click", function(){
if (any field value changed){
var usrConf = confirm('You wanna update?')
if (usrConf){
// proceed with the updating processes by calling them
callDefaultFldUpdate(); // where this function includes many other procedures, so the return status wont help.
}
}
// the default page navigation process starts here
moveToNextPage();
}
因此,在更新程序之后,系统应继续导航程序。
希望情况清晰,期待大家有用的建议,使用javascript&& jquery的。
提前致谢。
答案 0 :(得分:0)
设置一个全局变量,类似isChanged = false;
,然后绑定一个函数以形成更改事件。
$(document).on('change', 'form', function(){
window.isChanged = true;
}
验证代码中的isChanged
变量,例如
if (any field value changed){
可以说if(isChanged == true){