[英]Passing values from PHP to JavaScript
我正在嘗試獲取的值是mysql數據庫中的id。 但是,每次單擊圖像時,都會得到null
。 我用this
來獲取值,但由於它在警報框中始終為我提供null
值,因此無法正常工作。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
mysql_connect('localhost','root','');
mysql_select_db("ajax");
$query="SELECT * FROM xxxx";
$result= mysql_query($query);
while($row= mysql_fetch_array($result)){
echo "<img src='".$row['filepath']."' value='".$row['ID']."' id='".$row['ID']."' onclick='getrating(this.value);'>";
echo "<br>";
}
?>
<script type="text/javascript" >
function getrating(row_id){
var x = document.getElementById(row_id);
alert(x);
}
</script>
</body>
</html>
問題是什么?
您需要使用getrating(this.id)
代替。 圖片沒有value
屬性。
嘗試這個:
echo "<img src='".$row['filepath']."' id='".$row['ID']."' onclick='getrating(".$row['ID'].");'>";
或者您可以通過this.id
<img id="row_12" onclick="getrating(this.id)" alt="image"/>
function getrating(id){
alert(id);
}
或者您可以使用事件對象和currentTarget屬性
<img id="row_12" onclick="getrating(event)" alt="image"/>
function getrating(e){
alert(e.currentTarget.id);
}
他們用這種方式來逃避ID可能是問題。 我知道已經解決了這個問題,但以防萬一,這些人需要其他解決方案。
onclick="getrating(\''.$row['ID'].'\')"
value
不是img
標簽的有效屬性。 您可以使用id
,也可以
echo "<img ... onclick='getrating($row[ID]);'>";
<img>
沒有value屬性。
您也正在功能中執行不必要的工作。 您的代碼應如下所示:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
mysql_connect('localhost','root','');
mysql_select_db("ajax");
$query="SELECT * FROM xxxx";
$result= mysql_query($query);
while($row= mysql_fetch_array($result)){
echo "<img src='".$row['filepath']."' value='".$row['ID']."' id='".$row['ID']."' onclick='getrating(this);'>";
echo "<br>";
}
?>
<script type="text/javascript" >
function getrating(element){
alert(element);
}
</script>
</body>
</html>
通過傳遞this
給你的函數通過onclick事件,你已經擁有你所尋找的元素,而無需使用document.getElementById()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.