首页 > 解决方案 > Javascript location.href 在 PHP echo 中未被识别

问题描述

我正在尝试onclick="javascript:location.href='where.ever'在 php echo 中工作,以便在显示下拉菜单时单击整行。

我有以下代码:

echo "<div class='dropdown-item-row row' onclick='javascript:location.href='" . $row['username'] . "'>
            <div class='dd-pic'>
                <a href='" . $row['username'] . "'>
                    <img src='" . $row['profile_pic'] ."'>
                </a>
            </div>
            <div class='dd-right'>
                <div class='dd-title'>
                    <a href='" . $row['username'] . "'>" . $row['first_name'] . " " . $row['last_name'] . "</a>
                </div>
                <div class='dd-user-url'>
                    <a href='" . $row['username'] . "'>" . $row['username'] ."</a>
                </div>
                <p class='dd-common-friends'>" . $mutual_friends ."</p>
            </div>
        </div>";

其他<a>标签已被识别,但我想制作这些标签,因此它们甚至都不是必需的。理想情况下,我只想单击该行,这就是链接。我不确定为什么 php echo 无法识别onclick

<div class='dropdown-item-row row' onclick='javascript:location.href='" . $row['username'] . "'>

我在回声中表达的方式有问题吗?

任何帮助,将不胜感激。

标签: javascriptphp

解决方案


始终查看结果输出。您的输出如下所示:

<div class='dropdown-item-row row' onclick='javascript:location.href='where.ever''>

您可以清楚地看到那里的引号无效。(此外,旁注javascript:用于href属性,而不是内联事件处理程序)


为什么不让你的整行成为一个<a>标签?

?>
<a href="<?=$row['username']?>" class="dropdown-item-row row">
    <div.....
    .....>
</a>
<?php

此外,如果您退出 PHP 模式以输出 HTML,您可能会发现事情更整洁。用于<?=$something?>弹回 PHP 模式以输出值。这种技术通常在 IDE 中也能更好地进行颜色编码!


推荐阅读