使用php中的变量作为javascript的警报

时间:2012-07-21 09:17:38

标签: php javascript variables alert

如何使用我的php-sql中的变量成为我的javascript警报的消息?

继承我的代码

<?php

    $select = "SELECT * FROM post";
    $result = mysql_query($select) or die("couldn't select table");


    while ($rows = mysql_fetch_array($result))
    {
        echo"<input type='button' class=term onclick='return terms()' value=Terms >";

        echo"<input type='hidden' value='$rows[terms]' id='term' name='term'>";
    }
?>  

<script language="JavaScript">
    function terms() 
    {
        var readers = document.getElementById("term"); 
        alert(readers.value);
    }
</script>

它工作,显示警报消息。但是我在显示正确的行获取消息时遇到了问题。所有人都得到了相同的信息(来自第一行的消息)。

我尝试使用getElementByName,但是没有弹出警报, 所以我不必尝试输入name =“term []”--------(进入数组形式)

请帮忙!

6 个答案:

答案 0 :(得分:1)

将while循环中的第二个echo语句更改为:

echo"<input type='hidden' value='". $rows['terms'] ."' id='term' name='term'>";

答案 1 :(得分:1)

我认为如果你更改这一行脚本

将会找到它
 echo"<input type='button' class=term onclick='terms()' value=Terms >";

onclick ='terms()'在这里,而不是onclick ='return terms()'

编辑:

<?php   echo"<input type='button' class=term onclick='terms(this)' data-result ='". $rows['terms'] ."' value=Terms >"; ?>
      /* Remove the hidden field */
<script language="JavaScript">
    function terms(e) 
    {
        var readers = e.getAttribute('data-result'); 
        alert(readers);
    }
</script>

答案 2 :(得分:1)

我通常会做以下事情:

<?php
  function alert($text){
    echo '<script type="text/javascript">alert("'.$text.'")</script>';
  }

  alert("test");
?>

希望有所帮助。

答案 3 :(得分:0)

在每次迭代While循环后,您将覆盖HTML代码中的值或“term”。这样它只会得到最后一个值

答案 4 :(得分:0)

您的所有input元素都具有相同的id。如果要区分它们,请为它们指定不同的标识符。并将标识符传递给terms函数。

答案 5 :(得分:0)

您必须为每个元素指定不同的ID。我认为这样做的简单方法是使用id的自动增量。