gpt4 book ai didi

javascript - Replace() 标签在 JavaScript 中不起作用

转载 作者:行者123 更新时间:2023-12-03 04:11:05 25 4
gpt4 key购买 nike

我有数据库,当前在表中使用内联编辑第一个问题是粘贴格式化文本,但似乎这个问题已通过此脚本修复了 90%:

<script type="text/javascript">

var _onPaste_StripFormatting_IEPaste = false;

function OnPaste_StripFormatting(elem, e) {

if (e.originalEvent && e.originalEvent.clipboardData && e.originalEvent.clipboardData.getData) {
e.preventDefault();
var text = e.originalEvent.clipboardData.getData('text/plain');
window.document.execCommand('insertText', false, text);
}
else if (e.clipboardData && e.clipboardData.getData) {
e.preventDefault();
var text = e.clipboardData.getData('text/plain');
window.document.execCommand('insertText', false, text);
}
else if (window.clipboardData && window.clipboardData.getData) {
// Stop stack overflow
if (!_onPaste_StripFormatting_IEPaste) {
_onPaste_StripFormatting_IEPaste = true;
e.preventDefault();
window.document.execCommand('ms-pasteTextOnly', false);
}
_onPaste_StripFormatting_IEPaste = false;
}

}

</script>

我的 php 代码如下所示:

<td contenteditable='true' onblur=saveToDatabase(this,'titleeng','".$data['id']."') onClick='showEdit(this);' onpaste='OnPaste_StripFormatting(this, event);'>".$data['titleeng']."</td>

脚本删除了标签,但留下了   ,导致我的 sql ajax 失败

这是 Ajax 脚本:

<script>
function showEdit(editableObj) {
$(editableObj).css("background","#FFF");
}

function saveToDatabase(editableObj,column,id) {
$(editableObj).css("background","#12ff65 url(loaderIcon.gif) no-repeat right");
$.ajax({
url: "saveedit.php",
type: "POST",
data:"column="+column+"&editval="+editableObj.innerHTML+"&id="+id,
success: function(data){
$(editableObj).css("background","#FDFDFD");
}
});
}
</script>

我正在尝试这个:新组件为 text = text.replace(" ","");

var _onPaste_StripFormatting_IEPaste = false;

function OnPaste_StripFormatting(elem, e) {

if (e.originalEvent && e.originalEvent.clipboardData && e.originalEvent.clipboardData.getData) {
e.preventDefault();
var text = e.originalEvent.clipboardData.getData('text/plain');
string text = text;
text = text.replace("&nbsp"," ");
window.document.execCommand('insertText', false, text);
}
else if (e.clipboardData && e.clipboardData.getData) {
e.preventDefault();
var text = e.clipboardData.getData('text/plain');
string text = text;
text = text.replace("&nbsp"," ");
window.document.execCommand('insertText', false, text);
}
else if (window.clipboardData && window.clipboardData.getData) {
// Stop stack overflow
if (!_onPaste_StripFormatting_IEPaste) {
_onPaste_StripFormatting_IEPaste = true;
e.preventDefault();
window.document.execCommand('ms-pasteTextOnly', false);
}
_onPaste_StripFormatting_IEPaste = false;
}

}

但是什么都没有

最佳答案

The script removes the tags, but leaves the &nbsp; , that causing my sql ajax to failure

那是因为您忽略了对正确插入查询字符串中的参数值进行 URL 编码。

对之前的值使用encodeURIComponent

关于javascript - Replace() 标签在 JavaScript 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44330077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com