>im 试图获取用户选择使用 onclick 评分的图片的 ID,但它只会提醒"null"。 当用户选择div 标签时,它会提醒 id。 我想显示 ID。 我可以在此基础上构建,然后实现 Ajax 来评估图片。但是,我需要有关获取用户所选图片 ID 的帮助。
<?php
mysql_connect('localhost','root','');
mysql_select_db("ajax");
$query="SELECT * FROM xxxx";
$result= mysql_query($query);
while($row= mysql_fetch_array($result)){
$rating=$row['ID'];
echo "<img src='".$row['filepath']."'>";
echo "<br>";
echo "<div id='".$row['ID']."' value='".$row['ID']."' onclick='getrating();'>Likes: ".$row['Likes']."</div>";
echo "<br>";
}
im trying to get what picture the user selected to rate.
?>
<script type="text/javascript" >
function getrating(){
var x= document.getElementById("<?php echo $row['ID']; ?>");
alert(x)
}
</script>
你应该做的几件事:
-
尝试给出一个以字母开头的 id,例如,在编写 HTML 代码时使用:
echo "<div id='img" . $row[ 'ID' ] . "'></div>"
请注意,我在div 的 ID 中添加了一个前缀"img"。
-
您必须将正确的索引传递给 javascript 函数,因为您正在列表中绘制div,而不是 javascript 函数:
onclick='getrating( " . $row[ 'ID' ] . " );'
现在,javascript 函数在单击相应的 DIV 元素时调用时将获得正确的图像 ID。
-
将 javascript 函数更改为:
<script type="text/javascript" > function getrating( id ) { var x = document.getElementById( "img" + id ); alert( x ); } </script>
onclick="getrating(this.value);"
该代码会将div 的当前值属性传递给您在 JavaScript 中创建的函数。 请务必向函数添加参数以接收数据。
简单。
更改此设置:
echo "<div id='".$row['ID']."' value='".$row['ID']."' onclick='getrating();'>Likes: ".$row['Likes']."</div>";
对此:
echo "<div id='".$row['ID']."' value='".$row['ID']."' onclick='getrating(this.value);'>Likes: ".$row['Likes']."</div>";
而这个:
function getrating(){
var x= document.getElementById("<?php echo $row['ID']; ?>");
对此:
function getrating(row_id){
var x= document.getElementById(row_id);
你应该像这样把你的事件处理程序放在图像中:
<img src="" onclick="getrating(this.value)">
你的函数应该是这样的:
function getrating(row_id){
x = document.getElementById(row_id);
alert(x);
}