jquery - 如何对 "discard"表格进行修改?

标签 jquery

设置:

我有一个表单和一个“提交”按钮。理想情况下,用户应该填写表格,单击“提交”,然后离开选项卡。如果他尝试离开选项卡而不保存更改,我需要通过 3 个选项提醒他:

  1. 保存
  2. 放弃:放弃表单数据更改,并保留选项卡,就好像数据从未被修改过一样。如果用户返回同一选项卡,他应该看到“未修改”的数据。
  3. 取消:只需关闭对话框,让用户保持在同一选项卡上。用户可以进一步修改数据,点击保存等。

问题:

实现保存和取消很容易。问题出在“丢弃”上。如果用户点击“放弃”,表单数据应该恢复到修改前的状态。

有什么办法可以做到这一点吗?如果我没有正确解释问题,请告诉我。

最佳答案

您可以将表单的初始状态保存在 jQuery .data() 中功能。也许做类似的事情

$(function(){
    $('form').find(':input').each(function(i, elem) {
         var input = $(elem);
         input.data('initialState', input.val());
    });
});

然后,一旦你点击了丢弃,你就可以调用一个方法,比如:

function restore() {
    $('form').find(':input').each(function(i, elem) {
         var input = $(elem);
         input.val(input.data('initialState'));
    });
}

注意:如果您想将表单恢复到页面上的数据而不让用户离开页面,这非常有用。如果您不想保存数据,就不要...保存数据。

关于jquery - 如何对 "discard"表格进行修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640355/

相关文章:

jQuery 动画不工作

javascript - $.post函数(response)没有成功返回

javascript - jQuery文件上传插件错误

javascript - 带有 css 的 float li 元素用于多个 Ul 元素

jquery - 打开 jQuery Mobile 对话框,其中包含指向不同文件中特定 jQuery Mobile 页面的链接

javascript - 在 href 之前执行 click() 函数中的方法

javascript - jQuery - 解析脚本标签内的 JSON

javascript - 在插件命令中获取 Inline CKEditor 的当前实例

javascript - 有人能告诉我为什么这个 jQuery 脚本不起作用吗?

javascript - 在包含匹配类的类中使用 javascript 更改 href