通过js从php页面更改图像的src

时间:2014-03-05 07:37:31

标签: javascript php

我有一个从另一个php页面生成的图像

         <img style="margin:9px 0 0 16px;" src="sample.php" width="87" height="59" id="imagid">

每次创建验证图像。在每次刷新时,生成不同的图像。 但我想要的是在那里放一个按钮来改变图像而不刷新整个页面。

        <input type="button" value="refresh"  onclick="refresh();">

我的js代码是

         function refresh(){

         document.getElementById("imagid").src="sample.php";
          }

它不起作用,如何通过js

更改图像src

4 个答案:

答案 0 :(得分:0)

在您的JS代码中,您尝试更改按钮的“src”属性,您需要将id应用于图像,而不是按钮。

您需要做的是:

<img style="margin:9px 0 0 16px;" src="sample.php" width="87" height="59" id="imagid">
<input type="button" value="refresh" id="imagid" onclick="refresh();">

<script>
function refresh() {
    document.getElementById("imagid").src = "sample2.php";
}
</script>

答案 1 :(得分:0)

试试这个

<img style="margin:9px 0 0 16px;" src="sample.php" width="87" height="59" id="imageid">
<input type="button" value="refresh" id="buttonid" onclick="refresh();">

<script>
$('#buttonid').click(function()
{
    $('#imageid').attr('src','sample2.php');
}
</script>

答案 2 :(得分:0)

问题可能是因为它的MIME类型已经被浏览器缓存了。

有各种方法可以解决它,

1)一共使用不同的页面名称,sample1.php,sample2.php ..... 但是你无法创建无限数量的页面。

2)在URL中使用salting,即sample.php?rand = 1,sample.php?rand?= 2 .... 此rand参数将一直保持更新,并且每次向服务器发出请求都会生成新图像。

还有其他一些先进的方法,但这是开始使用的方法。

答案 3 :(得分:0)

您的错误就在这里。您没有为您的图片代码指定ID,而您在js代码中也是按钮ID。

<img style="margin:9px 0 0 16px;" src="sample.php" width="87" height="59" id="imageid">
function refresh(){
         document.getElementById("imagid").src="sample.php";
}

注意: 确保按钮和图像标签的ID。没有两个元素应该具有相同的ID。

希望这会有所帮助......