Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如果提交失败,是否使表格还原为显示在位编辑文本区域?_Jquery_Jeditable - Fatal编程技术网

Jquery 如果提交失败,是否使表格还原为显示在位编辑文本区域?

Jquery 如果提交失败,是否使表格还原为显示在位编辑文本区域?,jquery,jeditable,Jquery,Jeditable,我在jQuery中使用Jeditable,它主要是按照我想要的方式工作的。当用户通过jeditable提交一些更改时,我使用的是textarea,而服务器确定存在一些验证错误,我希望自动恢复显示包含用户最新更改的textarea。这是为了避免他们丢失键入的文本,因为可能是由于服务器端错误或在准备就绪之前意外点击提交按钮造成的 有什么简单的方法可以让jeditable重新构建编辑控件吗?好的,下面是我为解决这个问题所做的。我对jeditable.js进行了黑客攻击,因此它希望JSON数据作为提交就

我在jQuery中使用Jeditable,它主要是按照我想要的方式工作的。当用户通过jeditable提交一些更改时,我使用的是textarea,而服务器确定存在一些验证错误,我希望自动恢复显示包含用户最新更改的textarea。这是为了避免他们丢失键入的文本,因为可能是由于服务器端错误或在准备就绪之前意外点击提交按钮造成的


有什么简单的方法可以让jeditable重新构建编辑控件吗?

好的,下面是我为解决这个问题所做的。我对jeditable.js进行了黑客攻击,因此它希望JSON数据作为提交就地编辑时触发的AJAX成功回调中的响应。JSON对象中有一个警报字段,我使用它作为

var ajaxoptions = {
  type    : 'POST',
  data    : submitdata,
  dataType: 'text',
  accepts: 'json',
  url     : settings.target,
  success : function(result, status) {
      data = $.parseJSON(result);
      $(self).children('span.indicator').remove();
      if(!data.alert) {
        $(self).html(data.text);
        self.editing = false;
        callback.apply(self, [data, settings]);
        if (!$.trim($(self).html())) {
            $(self).html(settings.placeholder);
        }
      }
      else {
        callback.apply(self, [data, settings]);
      }
  },
  error   : function(xhr, status, error) {
      $(self).children('span.indicator').remove();
      onerror.apply(form, [settings, self, xhr]);
  }
})

因此,本质上,如果存在非NULL警报字符串,我只需要触发回调函数(如果定义的话)就可以了。这似乎工作得很好,将textarea字段保留在适当的位置,其中包含用户的更改。我的回调使用data.alert中的文本提醒用户未提交更改