-1

如何使用我的 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[]" --------(进入其数组形式)

请帮忙!

4

6 回答 6

1

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

echo"<input type='hidden' value='". $rows['terms'] ."' id='term' name='term'>";
于 2012-07-21T09:21:32.917 回答
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>
于 2012-07-21T09:25:21.700 回答
1

我通常会做以下事情:

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

  alert("test");
?>

希望有帮助。

于 2012-07-21T09:27:06.213 回答
0

在While-loop 的每次迭代之后,您将覆盖HTML 代码中的值或“术语”。这样它只会得到最后一个值

于 2012-07-21T09:21:26.467 回答
0

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

于 2012-07-21T09:22:18.197 回答
0

您必须为每个元素提供不同的 id。我认为简单的方法是对 id 使用自动增量。

于 2012-07-21T10:25:10.430 回答