簡體   English   中英

將值從PHP傳遞到JavaScript

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM