我有一个功能,我的回声是:
echo '<tr>
<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley("hallo")"> <br>:illuminati:</td>
</tr>'
问题是onclick="insertSmiley("hallo")"
必须与'
相关,而不是"
。如果我把这个放在html中,一切正常,但是当我点击时,在回声中没有任何反应。
我的index.php在正文中有这个脚本:
<script type="text/javascript">
function insertSmiley(smiley)
{
var currentText = document.getElementById("send");
var smileyWithPadding = " " + smiley + " ";
currentText.value += smileyWithPadding;
currentText.focus();
}
</script>
,其他代码在我的chat.php中:
echo '<textarea id="send" maxlength="125" rows="2" placeholder="Enter your message"></textarea>
<tr>
<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley("hallo")"> <br>:illuminati:</td>
</tr>
我真的认为问题是因为我无法在回声中使用''
而我需要onClick...('hallo')
。
答案 0 :(得分:3)
使用\'
打印'
PHP中使用反斜杠来转义引号内的特殊字符。由于PHP不区分字符串和字符
如果你这样写
echo 'check it \' out';
它将提供这样的输出
check it ' out
所以像这样使用
echo '<tr>
<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley(\'hallo\')"> <br>:illuminati:</td>
</tr>'
答案 1 :(得分:1)
您没有在echo
语句中回显任何变量,只需在代码之外添加PHP标记:
//Your PHP code here
?>
<tr>
<td align="center" style="padding:5px;">
<img src="/chat/emotes/smile.png" onclick='insertSmiley(" hallo")'>
<br>:illuminati:
</td>
</tr>
<?php
// Continue your php code
如果您必须在HTML中回显变量,请按以下方式进行:
$greetings = "Hallo";
//Your PHP code here
?>
<tr>
<td align="center" style="padding:5px;">
<img src="/chat/emotes/smile.png" onclick="insertSmiley('<?php echo $greetings; ?>')">
<br>:illuminati:
</td>
</tr>
<?php
答案 2 :(得分:0)
试试这个:
<?php
echo "<textarea id="send" maxlength="125" rows="2" placeholder="Enter your message"></textarea>";
echo "<tr>";
echo "<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley("hallo")"> <br>:illuminati:</td>";
echo "</tr>";
?>
答案 3 :(得分:0)
您可以使用:
onclick="insertSmiley(\'hallo\')"