即时验证用户名的效果实现了,但新的问题又出现了,高手帮忙,顶者有分!!!

时间:2023-02-08 19:44:02
描述:在用户名一栏输入一个用户名,比如我输入“abc”,当鼠标点击其他地方的时候程序会自动验证次用户明是否被注册,如果被注册了会有一个警告窗口进行提示:此用户名已经被注册。

问题:当我点击警告窗口上的“确定”按钮后,用户名输入框里面还有abc,当我再点击其他地方(包括提交按钮)的时候就不提示此用户名已经被注册过了,我想正确的效果应该是第一次提示用户名被注册后,如果不更改输入再点击其他的地方还会提示用户名已经被注册。这个是不是就是所谓的焦点的问题?

希望高手们给与帮助

--------------部分主要代码---------
        <script language="javascript">
        function IsUsernameExist_callback(result)
        {
            var msg = document.getElementById('Message');
            var value = result.value;
            if( value == '1' )
            {
                msg.innerHTML = '用户名可用!';
                msg.style.color='green';                
            }            
            else
            {
                alert("此用户名已经被注册!");
                return false;
            }
        }
        
        function VerifyUserName(name)
        {
            MyRegister.Register.GetReturnCode(name, IsUsernameExist_callback);
        }
    </script>

22 个解决方案

#1


顶都没有人顶?



自己顶,等待高手出现

#2


简单的解决办法,当return false;就让提交按钮的enable为false

#3


顶一下.

#4


alert("此用户名已经被注册!");
                document.form1.Button1.enable=false//没起作用
                return false;

是应该这样写么?还需要设置其他的么?测试没有成功

#5


在顶一个,继续在线等

#6


再顶一次,同志们,帮帮忙啊……,顶一下也好,这个效果我测试一上午了,还没有弄出来

#7


帮顶一下了

#8


alert("此用户名已经被注册!");
                document.form1.Button1.disabled="disabled";
                return false;

#9


帮顶下
msg.innerHTML = '此用户名已经被注册';
这样告示不行吗?

#10


晕,结贴,试了好多种,就楼上的那种情况没试

#11


to aftnTea() 

只是在一个lable里显示此用户名已经被注册,但用户仍然能点击按钮进行提交

#12


又有新问题:
当按钮无效后,如果我更改了一个可以注册的用户名,但是那个按钮依然无效

还要等…………

#13


弹出提示后让输入名字的文本框获得焦点。

在失去焦点的时候检测是否被注册过

#14


不需要什么检测按钮,按一下还麻烦

#15


alert("此用户名已经被注册!");
                document.form1.Button1.disabled=true;
                return false;

#16


如果检测成功就写
document.form1.Button1.disabled=false;

#17


alert("此用户名已经被注册!");

document.getElementById("xx").value = "";

#18


if( value == '1' )
            {
                msg.innerHTML = '用户名未被注册!';
                msg.style.color='green';
                document.form1.Button1.enabled=true;//不起作用
                return true;            
            }            
            else
            {
                msg.innerHTML = '用户名已被注册!';
                msg.style.color='red';   
                document.form1.Button1.disabled=true;
                return false;             
            }
其中主要的代码已经改成上面的样子,我现在有一个名为11的用户,当我输入1时,提示“可以注册”,按钮不变灰,当我继续输入一个1时(也就是11),此时提示“已被注册”按钮变灰,我继续输入1(也就是111)时,提示“可以注册”但按钮依然是灰色,不可按,也就是document.form1.Button1.enabled=true;没起作用,不知道这句代码对不对。

----
另外 to iuhxq(小灰) 
怎样检测“在失去焦点的时候检测是否被注册过”

谢谢同志们

#19


失去焦点事件onblur

#20


应该是这样document.form1.Button1.disabled=false;
好了,结贴

#21


顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

#22


该回复于2008-12-19 14:15:02被版主删除

#1


顶都没有人顶?



自己顶,等待高手出现

#2


简单的解决办法,当return false;就让提交按钮的enable为false

#3


顶一下.

#4


alert("此用户名已经被注册!");
                document.form1.Button1.enable=false//没起作用
                return false;

是应该这样写么?还需要设置其他的么?测试没有成功

#5


在顶一个,继续在线等

#6


再顶一次,同志们,帮帮忙啊……,顶一下也好,这个效果我测试一上午了,还没有弄出来

#7


帮顶一下了

#8


alert("此用户名已经被注册!");
                document.form1.Button1.disabled="disabled";
                return false;

#9


帮顶下
msg.innerHTML = '此用户名已经被注册';
这样告示不行吗?

#10


晕,结贴,试了好多种,就楼上的那种情况没试

#11


to aftnTea() 

只是在一个lable里显示此用户名已经被注册,但用户仍然能点击按钮进行提交

#12


又有新问题:
当按钮无效后,如果我更改了一个可以注册的用户名,但是那个按钮依然无效

还要等…………

#13


弹出提示后让输入名字的文本框获得焦点。

在失去焦点的时候检测是否被注册过

#14


不需要什么检测按钮,按一下还麻烦

#15


alert("此用户名已经被注册!");
                document.form1.Button1.disabled=true;
                return false;

#16


如果检测成功就写
document.form1.Button1.disabled=false;

#17


alert("此用户名已经被注册!");

document.getElementById("xx").value = "";

#18


if( value == '1' )
            {
                msg.innerHTML = '用户名未被注册!';
                msg.style.color='green';
                document.form1.Button1.enabled=true;//不起作用
                return true;            
            }            
            else
            {
                msg.innerHTML = '用户名已被注册!';
                msg.style.color='red';   
                document.form1.Button1.disabled=true;
                return false;             
            }
其中主要的代码已经改成上面的样子,我现在有一个名为11的用户,当我输入1时,提示“可以注册”,按钮不变灰,当我继续输入一个1时(也就是11),此时提示“已被注册”按钮变灰,我继续输入1(也就是111)时,提示“可以注册”但按钮依然是灰色,不可按,也就是document.form1.Button1.enabled=true;没起作用,不知道这句代码对不对。

----
另外 to iuhxq(小灰) 
怎样检测“在失去焦点的时候检测是否被注册过”

谢谢同志们

#19


失去焦点事件onblur

#20


应该是这样document.form1.Button1.disabled=false;
好了,结贴

#21


顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

#22


该回复于2008-12-19 14:15:02被版主删除