如何将带引号的php变量放入onclick?

Posted

技术标签:

【中文标题】如何将带引号的php变量放入onclick?【英文标题】:How can I put php variables with quotes into onclick? 【发布时间】:2016-07-17 12:40:23 【问题描述】:

我不知道如何正确地将 php 变量放入 onclick 中,以免导致某种错误:( 我不知道该往哪个方向发展。似乎只要有引号,就会导致此错误。也许还有其他字符也会导致问题。页面确实加载,只是当我按下我的“infoIconButtonImage”时才会发生错误。这是我尝试过的:

while($stmt->fetch()) 
                       
    $shortDescription = preg_replace("/\r\n|\r|\n/",' ', $shortDescription);
    $longDescription = preg_replace("/\r\n|\r|\n/",'<br/>', $longDescription);
    $price = preg_replace("/\r\n|\r|\n/",' ', $price);


    echo "<div class=\"iconButtonContainer\"><img class=\"infoIconButtonImage\" src=\"Images/item_info_button_image.png\" alt=\"\" onclick=\"showMoreItemInfo(this, '$price', '$imageUrl', '$shortDescription', '$longDescription')\"></div>";

我删除了我认为不必要的部分代码。这是数据和错误:

【问题讨论】:

我会建议摆脱内联 javascript。您可以将所有内容放在一个 javascript 块中,然后在该块的顶部,您可以使用 json_encode() 将所有 php 变量发送到 javascript。你当然也可以使用json_encode() 内联javascript... 我很新,不知道该怎么做:S 猜你想要onclick&lt;?php echo whatever ?&gt;之类的东西 在一行代码中混合三种不同的语言只是乞求引用错误... @Mihai 我不确定我是否理解...我已经在行首回显,所以整个语句不是已经被识别为 php 吗? 【参考方案1】:

试试

echo "<div class=\"iconButtonContainer\"><img class=\"infoIconButtonImage\" src=\"Images/item_info_button_image.png\" alt=\"\" onclick=\"showMoreItemInfo(this, '" . $price . "', '" . $imageUrl . "', '" . $shortDescription . "', '" . $longDescription . "')\"></div>";

【讨论】:

以上是关于如何将带引号的php变量放入onclick?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用索引号将数据发送到mysqli(准备好的语句)

如何将带引号的多字字符串替换为参数?

PHP中sql语句如何使用变量

将带引号的变量传递给React中的函数

双引号中的 PHP 静态变量

将PHP变量发送到javascript函数[重复]