在网站注册时,有个地方需要检查用户的帐号是否已存在,是一个按钮,想实现,当点击时是一个图片(比如等待),查询完毕后,alert(结果)后,更换为原来的图片。也就是说,当用户点击检查帐号按钮时,不是死在那里,提示用户等待
我是这样做的:
function swapImage(imgSrc) 
{ document.all.imgCheckUser.src = imgSrc; } 点击检查按钮后触发
function checkUser()
{
swapImage('image/check_pass02.jpg'); //更换为等待图片//检查用户是否存在 
......swapImage('image/check_pass.jpg'); //恢复为原来图片
}但是总是不会显示那更换的图片
是什么原因呢?
有什么办法处理呢?请指教!

解决方案 »

  1.   

    可以用一个IFrame<tr>
    <td>会员昵称</td>
    <td><input type='text' id='name' maxlength='12' style='width:160px' onpropertychange='document.forms[0].chker.disabled=false' runat='server'/> &nbsp;<input type='button' value='检 验' id='chker' class='button' onclick='chkName()' /> &nbsp;<span id='result'>3-12个英文字母和数字、或2-6个中文字</span><iframe style='display:none' width='0' height='0' frameborder='0' id='user_chkname'></iframe></td> </tr>
    function chkName()
    {
    var f = document.forms[0];
    var lenName = len(f.name.value.trim());
    if (f.name.value.trim() != f.name.value || lenName<3 || lenName>12)
    {
    alert('会员名只能由3到12个英文和数字或2到6个中文组成,不能含空格或特殊符号');
    f.name.focus();
    return false;
    }
    if (foundSpecialChars(f.name.value))
    {
    alert('会员名不能包含特殊符号');
    f.name.focus();
    return false;
    }
    if (isRefuse(f.name.value))
    {
    alert('会员名不合法,不能使用如下类型的名称 \n\n* 过于简单,如111、123、aaa等\n* 保留字词,如user、keyword、关键字等\n* 管理称谓,如admin、版主等\n* 政治人物名字');
    f.name.focus();
    return false;
    }
    if (isBadWord(f.name.value))
    {
    alert('严禁使用不文明字词 !');
    f.name.focus();
    return false;
    }
    document.getElementById('result').className = 't2';
    document.getElementById('result').innerHTML = '正在检测会员名合法性...';
    document.getElementById('user_chkname').src = 'user_chkname.aspx?name=' + f.name.value;
    }
      

  2.   

    2.0中可以使用异步回调或者Ajax,1.1中使用Ajax功能.在开始检测时将图片替换为提示图片,查询完毕替换回原来的图片