I\'m drawing a complete blank why this isn\'t working. I can do it with one variable passing through, but not two. When I use actually numbers like getnt(1,2)
it wo
You could always try:
<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>
Your question is probably best answered by looking at the rendered HTML source.
In any case, here's how I'd do it using graceful degradation
<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>
If the ID and pnID are strings, enclose them with brackets like this.
<body>
<?php
echo "<a href='#' onclick=\"getnt('$nid','$pnid')\">VIEW</a>";
?>
</body>
If still not working, You can debug your code
Put some alert messages in the javascript function. Install Firebug if you have Firefox or see
Javaascript console if you get any javascript errors.