我有一些HTML代码
<?php
if($loggedIn){
echo "<div id='navigation'>
<ul>
<li>
<a href='javascript:toggleLayer('video');'>Global</a>
</li>
<li>
<a href='javascript:toggleLayer('info');'>About</a>
</li>
<li>
<a href='javascript:toggleLayer('register_main');'>Join!</a>
</li>
</ul>
</div>"};
但是当我点击网站上的网址时,他们就不会执行javascript代码了。 在检查了我发现的其中一个要素之后
<a video');'="" href="javascript:toggleLayer(">Global</a>
是生成的代码,这是错误的。
我唯一的线索是它应该是
<a href="javascript:toggleLayer('video');">Global</a>
虽然我不知道如何修复回声中的内容,因为它必须介于if语句之间
提前致谢!
答案 0 :(得分:2)
替换:
<?php if($loggedIn){
echo "<div id='navigation'>
<ul>
<li>
<a href='javascript:toggleLayer('video');'>Global</a>
</li>
<li>
<a href='javascript:toggleLayer('info');'>About</a>
</li>
<li>
<a href='javascript:toggleLayer('register_main');'>Join!</a>
</li>
</ul>
</div>"}; ?>
使用:
<?php if($loggedIn){ ?>
<div id="navigation">
<ul>
<li>
<a href="javascript:toggleLayer('video');">Global</a>
</li>
<li>
<a href="javascript:toggleLayer('info');">About</a>
</li>
<li>
<a href="javascript:toggleLayer('register_main');">Join!</a>
</li>
</ul>
</div>
<?php } ?>
在字符串" I said "Hello" "
中使用引号时。您需要转义匹配的周围引号,例如:" I said \"Hello\" "
。
答案 1 :(得分:0)
试试这个
...
<a href='javascript:toggleLayer(\"video\");'>Global</a>
...
答案 2 :(得分:0)
问题是你的引号。
你必须逃避<a>
标签内的那些,你为你的javascript函数设置params,例如'视频'