继承我的代码:
<td onclick="openFile('<?php echo htmlentities ($row['name'])?>','
<?php echo htmlentities ($row['content'])?>')">
<a href="#nf" data-toggle="tab"><?php echo $row['name']?></a></td>
因为$ row ['content']中有一个endline char:
openFile('哇','哇哇哇
哇');
当浏览器无法在同一行中找到结尾qoutes时,它会抛出
错误(SyntaxError:未终止的字符串文字 [打破此错误])。
对此有何解决方案?
答案 0 :(得分:6)
您可以通过替换它来删除它,
str_replace("\n","",$row['name']);
如果您需要将换行符放在JS字符串中,则可以双击它,
str_replace("\n","\\n",$row['name']);
答案 1 :(得分:0)
之前我有同样的问题。 PHP中的 json_encode 和JS中的 JSON.parse()帮助我解决了这个问题。在您的情况下,我会使用此代码:
<td onclick="openFile('<?php echo htmlentities ($row['name'])?>','
<?php echo json_encode($row['content'])?>')">
<a href="#nf" data-toggle="tab"><?php echo $row['name']?></a></td>
然后在你的openFile()函数中,我将使用JSON.parse()解析 content 参数,如下所示:
function openFile(name, content){
content = JSON.parse(content);
....
// your codes here
}