Php用变量回显javascript

时间:2011-01-29 23:46:18

标签: php javascript echo

有一个关于php echoing脚本的问题,该脚本有一个带有一些变量的javascript链接。我需要知道回声的格式,以便它能正常工作。任何人都可以对此有所了解吗?我的代码发布在

下面
echo "<a href='javascript: toggle('variable1', 'variable2')'><label1 for='nameEditor'>Manage</label1></a>";

现在,当您将鼠标悬停在链接上时,它只会显示javascript:toggle(现在我已经尝试了多项内容,但仍然无法让它工作。有人有任何建议吗?

3 个答案:

答案 0 :(得分:4)

假设variable1variable2是您想要插入到javascript中的PHP位,那么

echo "<a href='javascript: toggle('$variable1', '$variable2')'><label1 for='nameEditor'>Manage</label1></a>";

但是,请注意,如果这些变量中的任何一个包含Javascript元字符(例如单引号),您将会因语法错误而破坏脚本(将其视为与SQL注入相同的情况)。

为了确保变量的内容成为合法的Javascript,您需要执行以下操作:

<script type="text/javascript">
    var variable1 = <?php echo json_encode($variable1); ?>;
    var variable2 = <?php echo json_encode($variable2); ?>
</script>

<a href="javascript:toggle(variable1, variable2)...">...</a>

答案 1 :(得分:0)

尝试这样:

echo "<a href=\"javascript: toggle('variable1', 'variable2')\"><label1 for='nameEditor'>Manage</label1></a>";

你必须逃脱\ quotes

答案 2 :(得分:0)

这是因为你混合了浏览器看到的引号。这样做:

echo "<a href=\"javascript: toggle('variable1', 'variable2')\"><label1 for='nameEditor'>Manage</label1></a>";

如果你转义双引号(\“),你会没事的。浏览器本身就会看到''''(所有单引号),所以你需要保留”''“(双,单,单在您的html元素属性中,不管PHP是什么(除了转义)。