我有一堆看起来像这样的html - 只显示一个,因为它只需要它:
<tr>
<td>Name of Organisation:</td>
<td class="edtext" id="organisation"><?=$aRes[0]['organisation']?></td>
</tr>
在页面的头部我有这个:
$(function() {
$(".edtext").editable("./editHandler/WRITE.update.php?uaID=<?=$uaID?>", {
event : 'dblclick',
dataType : "json",
placeholder : '',
indicator : 'Saving...',
cssclass : 'editable',
submit : 'Save',
cancel : 'Cancel',
});
});
我可以通过双击然后编辑我已经给出id =“organization”的td字段将内容成功发送到数据库中,就好了。
在处理这个问题的php的后端位,直接在DB函数运行正常后,我有:
header('Content-type: application/json');
(剪辑数据库更新代码 - 它工作正常)
$report = array();
$report['organisation'] = $userInput;
$report['result'] = "✔";
echo json_encode($report);
同样的php将它的标题设置为:
因此,一旦输入并保存到可编辑表格单元格中的文本输入数据库,上面的内容就会发送回前端('Hello World'是输入的示例文本):
{"organisation":"Hello World","result":"✔"}
然后在td单元格中显示编辑发生的内容是:
{"organisation":"Hello World","result":"✔"}
这不是想要的。 tick是✔
应该是什么,但我的意思是我想要显示“Hello World”部分(当然没有引号),结果显示在带有id的span或div中=“结果”,在页面的其他地方。
我已经读过我需要使用jEditable callback
选项,但我找不到任何如何执行此操作的示例。我对JS不是很有信心,并希望有人在正确的方向上推我。功能实例欢迎。
顺便说一下,我需要能够将这个JS用于多个文本字段,而不是每个需要编辑访问权限的数据单元都有单独的JS条目。
答案 0 :(得分:0)
我通过添加:
解决了这个问题 callback : function() {
location.reload();
},
进入:
$(".edtext").editable("./editHandler/WRITE.update.php?uaID=<?=$uaID?>", {
event : 'dblclick',
dataType : "json",
placeholder : '',
indicator : 'Saving...',
cssclass : 'editable',
submit : 'Save',
cancel : 'Cancel',
});
});
部分,以便最终结果是:
$(".edtext").editable("./editHandler/WRITE.<?=$appKey?>.php?uaID=<?=$uaID?>", {
callback : function() {
location.reload();
},
event : 'dblclick',
placeholder : '',
indicator : 'Saving...',
cssclass : 'editable',
submit : 'Save',
cancel : 'Cancel',
});
因为垃圾查看输出不是来自数据库中实际保存的内容,因此成功发布后的新负载意味着页面显示为干净。
这不是一个很好的工作,但它有效并且不依赖讨厌的黑客。