如何使用我的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 []”--------(进入数组形式)
请帮忙!
答案 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的自动增量。