Функция JavaScript, принимающая переменные PHP - PullRequest
0 голосов
/ 01 июня 2011

Я рисую полный бланк, почему это не работает. Я могу сделать это с одной переменной, но не с двумя. Когда я использую цифры типа 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.

Ответы [ 3 ]

2 голосов
/ 01 июня 2011

Если ID и pnID являются строками, заключите их в квадратные скобки следующим образом.

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

Если все еще не работает, вы можете отладить свой код

  1. Просмотр исходного кода в браузере, убедитесь, что он генерирует правильно.
  2. Поместите несколько предупреждений в функция JavaScript. Установите Firebug если у вас есть Firefox или вы видите

  3. Консоль Javaascript, если вы получаете какие-либо ошибки JavaScript.

2 голосов
/ 01 июня 2011

Вы всегда можете попробовать:

<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>
0 голосов
/ 01 июня 2011

На ваш вопрос, вероятно, лучше всего ответить, посмотрев на отрендеренный источник 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...