从img标记调用JavaScript函数


Calling a JavaScript function from img tag

我正试图通过函数open_boosters()从数组中获取一个变量,然后将该变量发送到我的PHP脚本。正确的方法是什么?

目前我所拥有的只是这个生成随机数的JavaScript函数,称为open_boosters()

><img src="site3.php?"action="document.getElementById("?").innerHTML=open_boosters();"/>

在我的PHP中,我应该简单地将变量与$_GET方法绑定吗?

最佳做法是将行为从HTML移到<script>标记中,或者更好的是,移到外部脚本文件中(尽管可以将事件附加到HTML元素)。在这种情况下,没有理由将代码绑定到与图像无关的图像元素(看起来它正在尝试填充其他元素)。

<script>
// This code will not work with older IE versions; you may
// wish to use a library like jQuery to handle all the complexities
// of browser compatibility; or you can avoid all this by putting
// the script tag after your elements
window.addEventListener('DOMContentLoaded', function () {
    var rand = open_boosters();
    document.getElementById("?").innerHTML=rand;
    document.getElementById("randImg").src = "site3.php?randomNumber"+rand;
}, false);
</script>
<img id="randImg" />

然后在您的PHP代码中:

<?php
$_GET['randomNumber']; // Do something with it (though safely--e.g., do not add directly to a SQL string, etc.)
?>