有一个关于php echoing脚本的问题,该脚本有一个带有一些变量的javascript链接。我需要知道回声的格式,以便它能正常工作。任何人都可以对此有所了解吗?我的代码发布在
下面echo "<a href='javascript: toggle('variable1', 'variable2')'><label1 for='nameEditor'>Manage</label1></a>";
现在,当您将鼠标悬停在链接上时,它只会显示javascript:toggle(现在我已经尝试了多项内容,但仍然无法让它工作。有人有任何建议吗?
答案 0 :(得分:4)
假设variable1
和variable2
是您想要插入到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是什么(除了转义)。