Javascript Ajax成功图像替换

Javascript Ajax success image replace

本文关键字:替换 图像 成功 Ajax Javascript      更新时间:2023-09-26

我有问题。

代码应该在成功或错误后更改现场图像:

pastebin

if(isset($func) and $func == 'claim_bonus'){
global $ado;
$user = escape($_GET['user']);
$type = escape($_GET['type']);
$now = date("Y-m-d H:i:s");
$points = rand(1,20);
$query = $ado->exec("INSERT INTO `claimed_bonuses` SET `user` = '$user', `date` = '$now', `type` = '$type'");
$query1 = $ado->exec("INSERT INTO `history` SET `user` = '$user', `date` = '$now', `type` = 'bonus', `amount` = '$points', `title` = 'Bonus Claimed', `description` = '$user claimed bonus $points points'");
$query2 = $ado->exec("update `balances` SET `actual` = actual+$points, `total` = total+$points");

if ($query && $query1 && $query2) { 
echo "<img src='"/img/bonus/add_used.png'" width='"30%'" height='"30%'" alt='"Bonus claimed'" />";
    } else {
    echo "<img src='"/img/bonus/error.png'" width='"30%'" height='"30%'" alt='"Error'" />";
    } 

}

我调用ajax使用ajax.js文件

// JavaScript Document
var xmlhttp=false;

function claimbonus(user, type, id){
    xmlhttp = new XMLHttpRequest(); 
    xmlhttp.abort();
xmlhttp.open("GET", "/functions/ajax.php?func=claim_bonus&user="+user+"&type="+type, true);
xmlhttp.onreadystatechange=function() {
    if(xmlhttp.status == 200) {
     document.getElementById(id).innerHTML = xmlhttp.responseText;
    }
}
    xmlhttp.send(null);  
}

代码被加载到页面上。

脚本返回图像,但不替换旧图像。

图像代码:

<img src="img/bonus/add.png" width="30%" height="30%" alt="Claim bonus" id="add_img" onclick="claimbonus(<?php echo $_SESSION['userid']; ?>, '<?php echo $type; ?>', 'add_img'); return false"/>

我希望有人能帮助我

您正在替换图像标记的innerHTML。用div或span换行,并将userid也括起来

<span id="add_img"><img 
src="img/bonus/add.png" width="30%" height="30%" 
alt="Claim bonus" 
onclick="claimbonus('<?php echo $_SESSION['userid']; ?>', 
'<?php echo $type; ?>', 'add_img')/></span>