我需要帮助将mysql/php变量传递到javascript?

我需要帮助将mysql/php变量传递到javascript?,php,javascript,mysql,Php,Javascript,Mysql,我正在尝试获取用户选择的图片id,以便使用onclick进行评级,但是它只会发出“null”警报。当用户选择div标签时,它会提醒id。我想显示id。我可以在此基础上构建,然后实现ajax对图片进行评级。但是,我需要帮助获取用户选择的图片的id <?php mysql_connect('localhost','root',''); mysql_select_db("ajax"); $query="SELECT * FROM xxxx"; $result= mysql_query($qu

我正在尝试获取用户选择的图片id,以便使用onclick进行评级,但是它只会发出“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>

函数getrating(){
var x=document.getElementById(“”);
警报(x)
}
该代码将div的current value属性传递给您在JavaScript中创建的函数。确保向函数中添加参数以接收数据。

简单

更改此项:

  echo "<div id='".$row['ID']."' value='".$row['ID']."' onclick='getrating();'>Likes: ".$row['Likes']."</div>";

您应该将事件处理程序放在图像中,如下所示:

<img src="" onclick="getrating(this.value)">
function getrating(row_id){
    x = document.getElementById(row_id);
    alert(x);
}

你应该做的几件事:

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

    echo "<div id='img" . $row[ 'ID' ] . "'></div>"
    
    现在,当单击相应的DIV元素时,javascript函数将获得正确的图像ID

  • 将javascript函数更改为:

    <script type="text/javascript" >
    
       function getrating( id )
       {
           var x = document.getElementById( "img" + id );
           alert( x );
       }
    
    </script>
    
    
    函数getrating(id)
    {
    var x=document.getElementById(“img”+id);
    警报(x);
    }
    

  • 这是正确的,但有点草率的回答。。。他还需要更改函数定义。
    div
    可以没有
    value
    属性。并且
    id
    不应该以数字开头,除非您使用HTML5.echo“Craves:”.$row['Craves']”;函数getrating(row_id){var x=document.getElementById(row_id);警报(x);我将其放入,但它只显示nullCheck标记。生成了什么?div是否具有正确的ID和值?这是由浏览器生成的:
    喜欢:0

    喜欢:0
    有趣Action getrating(row_id){var x=document.getElementById(row_id);alert(x);}为什么这里有
    和问题中的
    ?echo“Craves:”.$row['Craves']。“”;函数getrating(row_id){var x=document.getElementById(row_id);alert(x);我把它放进去了,但它只显示null函数getrating(id)所以参数id只是“id”?@mayank23:yup,只是id,并且在从PHP回显DIV时,每次执行…onclick='getrating(“.$row['id']);”…当前id的值将被发送到javascript,例如,如果id是48,则生成的HTML将是:onclick='getrating(48);'这意味着当单击DIV时,值48将作为id值发送给getrating(),它将尝试查找的元素是:img48那么基本上您从DIV中取出了值?并编写了这个?“@mayank23,好吧,我把它放在DIV上了,但是如果它除了处理点击之外没有任何其他用途(图像可以自己处理),你可以像你建议的那样把它一起处理掉。
    <img src="" onclick="getrating(this.value)">
    
    function getrating(row_id){
        x = document.getElementById(row_id);
        alert(x);
    }
    
    echo "<div id='img" . $row[ 'ID' ] . "'></div>"
    
    onclick='getrating( " . $row[ 'ID' ] . " );'
    
    <script type="text/javascript" >
    
       function getrating( id )
       {
           var x = document.getElementById( "img" + id );
           alert( x );
       }
    
    </script>