我正在弄清楚为什么这不起作用。我可以通过一个变量通过,但不是两个。当我使用像getnt(1,2)
这样的实际数字时,它可以工作。它只是不使用两个PHP变量。
<script type="text/javascript">
function getnt(nid,pnid) {
window.location = "nt.php?nid=" + nid + "&pnid=" + pnid;
}
</script>
<body>
<?php
echo "<a href='#' onclick='getnt($nid,$pnid)'>VIEW</a>";
?>
</body>
我可以使代码与echo "<a href='nt.php?nid=$nid&pnid=$pnid'>VIEW</a>";
一起使用,但如果我想添加警报和javascript命令,那就不好了。
答案 0 :(得分:2)
你总是可以尝试:
<script type="text/javascript">
function getnt(nid,pnid) {
window.location = "nt.php?nid=" + nid + "&pnid=" + pnid;
}
</script>
<body>
<a href="#" onclick="getnt(<?php echo $nid; ?>,<?php echo $pnid; ?>)">VIEW</a>
</body>
答案 1 :(得分:2)
如果ID和pnID是字符串,请用这样的括号括起来。
<body>
<?php
echo "<a href='#' onclick=\"getnt('$nid','$pnid')\">VIEW</a>";
?>
</body>
如果仍然无效,您可以调试代码
在中添加一些警报消息 javascript函数。安装Firebug 如果你有Firefox或看到
Javaascript控制台,如果您收到任何javascript错误。
答案 2 :(得分:0)
通过查看呈现的HTML源代码,您的问题可能得到最好的解答。
无论如何,这是我如何使用优雅降级来实现它
<script type="text/javascript">
function getnt(element) {
var href = element.href;
var nid = element.getAttribute("data-nid");
var pnid = element.getAttribute("data-pnid");
return true;
}
</script>
<p><a href="nt.php?nid=<?php echo $nid ?>&pnid=<?php echo $pnid ?>"
data-nid="<?php echo $nid ?>"
data-pnid="<?php echo $pnid ?>"
onclick="return getnt(this)">VIEW</a></p>