1

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

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

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请求怎么办?中止吗?

有人有其他想法吗?

4

1 回答 1

1

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

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

它是进行交互式表单的最简单方法。这避免了多个请求尝试在服务器端修改相同值的麻烦以及监控所有 ajax 请求的麻烦。

于 2013-09-03T07:16:21.037 回答