这是我第一次使用JS,所以我真的不知道自己在做什么。
我有一个包含数据的表,并使用jEditable允许用户编辑数据并将其发布到我的php脚本中。当用户点击“保存”时,它会使用来自php脚本的数据打开jQuery UI,并且看起来工作正常,但是,如果用户按下Cancel或Esc关闭jQuery UI对话框,则它们会返回页面,但是他们尝试编辑的单元格现在完全空了。我如何重新填充细胞?
谢谢!
$(".editable_textarea").editable("/path/to/my/script.php", {
indicator : "<img src='/images/indicator.gif'>",
type : 'textarea',
submitdata: { _method: "post", uri: "<?php echo $this->uri->segment(3); ?>" },
select : false,
submit : 'Save',
cancel : 'Cancel',
tooltip : "Click to edit...",
cssclass : "editable",
onblur: "cancel",
cssclass: "edit_destination",
callback:
function(value, settings) {
$(this).dialog({
autoOpen: true,
width: 400,
modal: true,
position: "center",
resizable: false,
draggable: false,
title: "Pending Changes",
buttons: {
"Cancel": function() {
$(this).dialog("close"); },
"Confirm Changes": function() {
document.findSameDestination.submit(); }
}
});
$('form#findSameDestination').submit(function(){
$(this).dialog('open');
return false;
});
$(this).editable("disable");
},
data:
function(value, settings) {
var retval = value.replace(/<br[\s\/]?>/gi, '\n');
retval = retval.replace(/(<([^>]+)>)/gi, '');
return retval;
}
});
仍然不知道如何解决这个问题,我没有足够的积分来提供赏金...
最佳答案
我可能不太正确,但可能是您正在使用cancel
调用的onblur
事件。尝试更改
onblur: "cancel"
至
onblur: "function(e){;}"
基本上什么也做不了。如果我正确使用了jEditable代码,则onblur事件会将输入值还原为原始值,而在单击“取消”按钮时又将调用该值。不过,我可能错了-凌晨2点在我的位置:)