javascript onclick更改图像无法正常工作

javascript onclick更改图像无法正常工作,javascript,onclick,Javascript,Onclick,我有两个数据,每个数据有4个图像,我想一个接一个地显示,我想通过使用onclick javascript单击按钮来交换图像。但它并不适用于所有数据,只适用于数据的末尾。这是我的密码 <?php include "koneksi.php"; // connect to database ?> <html> <head> <title></title> <style> img{ height:100px

我有两个数据,每个数据有4个图像,我想一个接一个地显示,我想通过使用onclick javascript单击按钮来交换图像。但它并不适用于所有数据,只适用于数据的末尾。这是我的密码

<?php
include "koneksi.php"; // connect to database

?>
<html>
<head>
<title></title>
<style>
    img{
        height:100px;
        width:100px;
    }
</style>

</head>
<body>
<table>
<?php
$result=mysqli_query($koneksi, "SELECT * FROM tbbarang where idbarang='43' or idbarang='44'");
$i= 1;
while ($row=mysqli_fetch_array($result))
{ ?>
   <tr>
   <!--image 1--> <td><img id="img<?php echo $i?>" src=" <?php echo $row['gmbr1'] ?>"></td> <!-- image that i want to swap with folowing images 1, image 2, image 3, image 4-->
   <!--image 2--> <td><img src="<?php echo $row['gmbr2'] ?>"></td>
   <!--image 3--> <td><img src="<?php echo $row['gmbr3'] ?>"></td>
   <!--image 4--> <td><img src="<?php echo $row['gmbr4'] ?>"></td>
   <script>
    function changeImage(id) {
        var image = document.getElementById("img"+id);
        if (image.src.match("<?php echo $row['gmbr1']?>")) {
            image.src = "<?php echo $row['gmbr2']?>";
        } else if (image.src.match("<?php echo $row['gmbr2']?>")) {
            image.src = "<?php echo $row['gmbr3']?>";
        } else if (image.src.match("<?php echo $row['gmbr3']?>")) {
            image.src = "<?php echo $row['gmbr4']?>";
        } else if (image.src.match("<?php echo $row['gmbr4']?>")) {
            image.src = "<?php echo $row['gmbr1']?>";
        }
    }   
    </script>
   <td><button id="ubah" onClick="changeImage(<?php echo $i?>)">Click To Change</button></td>
   </tr>
   <?php
   $i=$i+1;
}
?>

</table> 
</body>
</html>

您的文件可能不包含任何像这样更改代码的changeimage函数

<?php
include "koneksi.php"; // connect to database

?>
<html>
<head>
<title></title>
<style>
    img{
        height:100px;
        width:100px;
    }
</style>

    <script>
        function changeImage(id, gmbr1, gmbr2, gmbr3, gmbr4) {
            var image = document.getElementById("img"+id);
            if (image.src == gmbr1) {
                image.src = gmbr2;
            } else if (image.src == gmbr2) {
                image.src = gmbr3;
            } else if (image.src == gmbr3) {
                image.src = gmbr4;
            } else if (image.src == gmbr4) {
                image.src = gmbr1;
            }
        }   
    </script>

</head>
<body>
<table>
<?php
$result=mysqli_query($koneksi, "SELECT * FROM tbbarang where idbarang='43' or idbarang='44'");
$i= 1;
while ($row=mysqli_fetch_array($result))
{ 
    $gmbr1 = $row['gmbr1'];
    $gmbr2 = $row['gmbr2'];
    $gmbr3 = $row['gmbr3'];
    $gmbr4 = $row['gmbr4'];

?>



   <tr>
   <!--image 1--> <td><img id="img<?php echo $i?>" src=" <?php echo $gmbr1 ?>"></td> <!-- image that i want to swap with folowing images 1, image 2, image 3, image 4-->
   <!--image 2--> <td><img src="<?php echo $gmbr2 ?>"></td>
   <!--image 3--> <td><img src="<?php echo $gmbr3 ?>"></td>
   <!--image 4--> <td><img src="<?php echo $gmbr4 ?>"></td>

   <td><button id="ubah" onClick="changeImage("<?php echo $i?>", "<?php echo $gmbr1 ?>", "<?php echo $gmbr2 ?>", "<?php echo $gmbr3 ?>", "<?php echo $gmbr4 ?>")">Click To Change</button></td>
   </tr>
   <?php
   $i=$i+1;
}
?>

</table> 
</body>
</html>

您的按钮调用“changeImage”函数的值是否正确?我可以在代码中看到您可能没有changeImage函数。我认为参数应该是字符串类型。立即试用该功能在单击按钮时是否收到呼叫?我可以稍微试用一下您的系统,但仍然没有运行bro。我认为问题在于从其参数发送值。我试图将参数值显示给innerHTML,但它是空的。然后,我可能无法从表中提取数据