我有一个用户填写的表单,其中包含一个文本区。此表单将上载到MySQL数据库,然后用户可以编辑该信息。我遇到的问题是,当我使用AJAX为文本区域建议数据时,javascript在换行符出现的任何地方都会给出“无效或意外的标记”错误。
在建议框中,它是一个包含行的列表,如下所示...
<li onClick="selectBenefiting('$benefiting')">$benefiting</li>selectBenefiting()是这样写的.
function selectBenefiting(val) {
$("#benefiting").val(val);
$("#benefiting-sugg").hide();
}有没有人能帮我在保留换行符的同时实现这一点?我已经搜索了几个小时,虽然我看到其他人也有同样的问题,但我还没有找到解决方案。
正如我所说的,它是一个MySQL数据库。如果我使用PHP回显文本区域中的数据,它将正确显示,因此我知道它在数据库中是正确的。问题出在使用jQuery和AJAX尝试填充文本区域时。
任何帮助都将不胜感激。
更新:
$benefiting_js = str_replace("\r\n", "\\r\\n", $benefiting);来自Nick的稍微修改的解决方案做到了这一点。
发布于 2018-11-25 15:45:18
问题是Javascript不喜欢字符串中的换行符。所以在你有它们的地方,你需要转义换行符。试试像这样的东西
$benefiting_js = str_replace("\n", "\\n", $benefiting);然后将您的<li>更改为
<li onClick="selectBenefiting('$benefiting_js')">$benefiting</li>https://stackoverflow.com/questions/53465291
复制相似问题