读书人

请教验证码的ajax图片loading有关问题

发布时间: 2013-09-24 10:59:52 作者: rapoo

请问验证码的ajax图片loading问题
请问验证码的ajax图片loading问题


问题描述:
想实现点击验证码图片,在点击后出现loading图片,验证码完成变换后,loading图片消失。
我的html
<li style="position: relative">
<input id="txtValCode" name="txtValCode" type="text" class="inputstyle" onkeyup="chenkCode()"
onblur="chenkCode()" />
<img src="../Handler/ValidateImage.ashx" class="verifycodeimg" id="vimg" onclick="changeImg()"
alt="请教验证码的ajax图片loading有关问题" />
<img src="../Images/ajax-loader.gif" id="LoadingImg" alt="请教验证码的ajax图片loading有关问题" style="display: none;"/>
<span id="checkCode">(点击图片可更换)</span> </li>
<li>

我的js

<script type="text/javascript"> //点击换验证码
function changeImg() {
var imgNode = document.getElementById("vimg");
$("#LoadingImg").css("display", "inline");
imgNode.src = "../Handler/ValidateImage.ashx?t=" + (new Date()).valueOf();
$("#LoadingImg").css("display", "none");

这样呢,验证图片是可以变换,但是loading图片没有从出现到消失的过程,完全没有出现过。

后改成ajax的
<script type="text/javascript"> //点击换验证码
function changeImg() {


/*尝试ajax变图片*/
$("#LoadingImg").css("display", "inline");


var url ="../Handler/ValidateImage.ashx";
$.post(url, { "t": (new Date()).valueOf() }, function(data, status) {
if ("success" == status) {
//$("#vimg").val = data;
$("#vimg").attr("src", url);
}
else {
alert("ajax wrong");
}
$("#LoadingImg").css("display", "none");
});

这样loading图片有从出现到消失的过程,但是图片没有办法正确显示。主要是 $("#vimg").attr("src", url);不知如何把data转成图片并显示。

---------
求助各位,谢谢。
[解决办法]
var imgNode = document.getElementById("vimg");
$("#LoadingImg").css("display", "inline");
imgNode.src = "../Handler/ValidateImage.ashx?t=" + (new Date()).valueOf();
imgNode.onload=function(){
$("#LoadingImg").css("display", "none");
}

读书人网 >JavaScript

热点推荐