我一直在试图解决这个问题,但我不知道我做错了什么,或者也许我错过了一些东西。
我正在尝试传递一个包含双引号的字符串,该字符串是我从数据库中检索到的,并将其显示在 textarea
中。
情况示例如下所示:
<?php
$content = '<div align="center"><b>This is a sample content.</b></div>';
echo '<textarea id="myTextArea"></textarea>';
echo '<button onclick="myFunction('.$content.')">Click me</button>';
?>
<script>
function myFunction(content){
document.getElementById("myTextArea").innerHTML = content;
}
</script>
预期结果应该是 myTextArea 应包含文本,但结果显示:
非常感谢您的帮助。
最佳答案
您应该使用 htmlspecialchars 引用您的输出(),这样它就变成了:
<?php
$content = "<div align=\"center\"><b>This is a sample content.</b></div>";
echo '<textarea id="myTextArea"></textarea>';
echo '<button onclick="myFunction(\''.htmlspecialchars($content).'\')">Click me</button>';
?>
<script>
function myFunction(content){
document.getElementById("myTextArea").innerHTML = content;
}
</script>
关于javascript - 将带有双引号的字符串作为参数从 php 传递到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47648943/