繁体   English   中英

Javascript Function 接受 PHP 变量

[英]Javascript Function Accepting PHP Variables

我正在完全空白,为什么这不起作用。 我可以通过一个变量来做到这一点,但不是两个。 当我实际使用像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 命令,那就不好了。

你总是可以尝试:

<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>

如果 ID 和 pnID 是字符串,请用这样的括号将它们括起来。

<body>  
  <?php
    echo "<a href='#' onclick=\"getnt('$nid','$pnid')\">VIEW</a>";
  ?>
  </body>

如果仍然无法正常工作,您可以调试您的代码

  1. 在浏览器中查看源代码,确保它正确生成。
  2. 在 javascript function 中放一些警报信息。 如果您有 Firefox,请安装 Firebug 或查看

  3. 如果您收到任何 javascript 错误,请使用 JavaScript 控制台。

通过查看呈现的 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 ?>&amp;pnid=<?php echo $pnid ?>"
      data-nid="<?php echo $nid ?>"
      data-pnid="<?php echo $pnid ?>"
      onclick="return getnt(this)">VIEW</a></p>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM