我有一个可编辑的表格单元格
<td class="center" contenteditable="true" onblur="saveToDB(this, 'docTitle', '<?= $row->id; ?>')"><?= $row->docTitle ?></td>
这里是函数
function saveToDB(editableObj,column,id) {
$(editableObj).css("background","#B2DDF2 url(../img/AjaxLoader.gif) no-repeat right");
$.ajax({
url: "<?php echo base_url();?>documents/inline_update",
type: "POST",
data:'column='+column+'&editval='+editableObj.textContent+'&id='+id,
success: function(data){
$(editableObj).css("background","#FDFDFD");
}
});
}
每当用户输入带符号的数据(例如表格和格式)时,只会将表格插入数据库。
我尝试了innerText
但仍然得到了相同的结果。
如果没有转义/编码&符号,有哪些选项可以实现?
答案 0 :(得分:3)
你可以只提供一个对象作为数据,jQuery将为你处理正确的序列化和转义(它将在内部使用实用程序$.param
,它将应用转义到数据值):
$.ajax({
url: "/",
type: "POST",
data: {
column: column,
editval: editableObj.textContent,
id: id,
},
success: function (data) { },
});