我需要帮助将MySQL / PHP变量传递给JavaScript


i need help to pass mysql/php variable to javascript?

>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>

你应该做的几件事:

  1. 尝试给出一个以字母开头的 id,例如,在编写 HTML 代码时使用:

    echo "<div id='img" . $row[ 'ID' ] . "'></div>"
    

    请注意,我在div 的 ID 中添加了一个前缀"img"。

  2. 您必须将正确的索引传递给 javascript 函数,因为您正在列表中绘制div,而不是 javascript 函数:

    onclick='getrating( " . $row[ 'ID' ] . " );'
    

    现在,javascript 函数在单击相应的 DIV 元素时调用时将获得正确的图像 ID。

  3. 将 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);
}