保存不带按钮的数据表单

Saving data form without button

本文关键字:数据 数据表 表单 按钮 保存      更新时间:2023-09-26

在没有提交按钮的情况下保存数据表单的好方法是什么?

我有一个想法。下面是示例源代码。

var delay = 1000,
       timeId,
       ajax,
       //fw is some framework
       form = fw.get('myform');
form.getFields().on('change', changeEventHandler);
function changeEventHandler() {
    clearTimeout(timeId);
    timeId = setTimeout(this.ajaxRequest, delay);
}
function ajaxRequest() {
    //What do with old ajax request? Abort it?
    ajax = fw.ajax({
       url: 'ololo',
       params: {
           data: form.getValues()
      }
   });
}

如何处理旧的ajax请求?中止它?

有其他人的想法吗?

我在设计一个没有保存按钮的交互式表单时遇到了类似的问题。

首先,保存每次更改的数据不是一个好主意。我使用了on-blur事件,所以当输入失去焦点时,我会检查值是否发生了更改(即,不仅仅是输入上的焦点模糊),如果发生了更改,我会禁用输入并发送ajax请求。当请求返回时,我再次启用了输入(如果ajax失败,可能会显示错误等,这取决于您的需要)。

这是实现交互式表单的最简单方法。这避免了在服务器端多个请求试图修改同一个值的头痛和监视所有ajax请求的头痛。