我正在Jeditable
使用jQuery
,而且我的工作方式大部分都是我想要的。当用户通过jeditable
(我使用textarea
)提交一些更改并且服务器确定存在一些验证错误时,我想自动恢复为显示包含该textarea
的{{1}}用户最近的更改。这是为了避免他们丢失他们输入的文本(这可能是服务器端错误或在准备好之前意外点击提交按钮的结果)。
有没有简单的方法让jeditable
重新构建编辑控件?
答案 0 :(得分:0)
好的,所以我在这里解决了这个问题。我攻击了jeditable.js
,因此它希望JSON数据作为在提交就地编辑时触发的AJAX success
回调中的响应。在JSON对象中是alert
字段,我将其用作
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警报字符串,我只是不做任何事情(除了触发callback
函数,如果已定义)。这似乎工作正常,留下textarea
字段,用户的内部更改。我的回调通过使用data.alert
中的文字提醒用户未提交更改。