+ -
当前位置:首页 → 问答吧 → -------jQuery 验证用户名的一个问题------

-------jQuery 验证用户名的一个问题------

时间:2010-09-28

来源:互联网

JScript code

function checkName1(){       
        //判断是否有输入
        var a = $('#uname1').val();
        if(!a){
            document.getElementById("unamespan1").innerHTML = "用户名为必填项!";
            return false;       
        }
        else{
            if(a.length<4){
                document.getElementById("unamespan1").innerHTML = "用户名必须大于四位!";
                return false; 
            }
            else
            {
                var url = "checkusername.php?name=" + a;
                $.post(url, function(data){
                if ( data == "已存在")
                {
                    document.getElementById("unamespan1").innerHTML = "用户名填写正确!"; 
                    return true;
                    //alert(data);
                }
                else
                {
                    document.getElementById("unamespan1").innerHTML = "该用户不存在!";
                    return false;
                }
                });
            }
        }
    }
    function subform(){
        if(!checkName1())
        {
            //alert ('返回的有false');
            return false;
        }
        else
        {
            //alert ('ok');
            return true;
        }
    }


引用:
HTML code

<form method="post" action="http://www.baidu.com" name="myform" id="myform" onsubmit="return subform()">
<input id="uname1" name="uname1" class="ipt1" style="float: left;" onblur="checkName1()">
                      &nbsp;&nbsp; <span id="unamespan1" style="font-size:12px; color:#F93;">请填写正确的用户名</span>
              </form>


这段代码都能显示“用户名填写正确” 但是为什么就不能返回true ?是不是和异步有关 具体怎么解决 谢谢了...

作者: love1989   发布时间: 2010-09-28

引用楼主 love1989 的回复:
JScript code

function checkName1(){
//判断是否有输入
var a = $('#uname1').val();
if(!a){
document.getElementById("unamespan1").innerHTML = "用户名为必填项!";
……


CSS code
用同步的试试看看

作者: IBM_hoojo   发布时间: 2010-09-28

引用 1 楼 ibm_hoojo 的回复:
CSS code
用同步的试试看看……

 具体点 我是新手...

作者: love1989   发布时间: 2010-09-28

JScript code
将$.post换成
$.ajax({
   type: "POST",
   url: "url",
   async: false,
   success: function(msg){
     alert( "Data Saved: " + msg );
   }
});

作者: IBM_hoojo   发布时间: 2010-09-28

var url = "checkusername.php?name=" + a;
var data=null;
  $.post(url, function(data){
  data=data;
  });
if ( data == "已存在")
  {
  document.getElementById("unamespan1").innerHTML = "用户名填写正确!"; 
  return true;
  //alert(data);
  }
  else
  {
  document.getElementById("unamespan1").innerHTML = "该用户不存在!";
  return false;
  }

作者: ztyfqq   发布时间: 2010-09-28

JScript code

var bool=null;
function checkName1(){       
        //判断是否有输入
        var a = $('#uname1').val();
        if(!a){
            document.getElementById("unamespan1").innerHTML = "用户名为必填项!";
            bool=false;       
        }
        else{
            if(a.length<4){
                document.getElementById("unamespan1").innerHTML = "用户名必须大于四位!";
                bool=false; 
            }
            else
            {
                var url = "checkusername.php?name=" + a;
                $.post(url, function(data){
                if ( data == "已存在")
                {
                    document.getElementById("unamespan1").innerHTML = "用户名填写正确!"; 
                    bool=true;
                    //alert(data);
                }
                else
                {
                    document.getElementById("unamespan1").innerHTML = "该用户不存在!";
                    bool=false;
                }
                });
            }
        }
    }
    function subform(){
        if(!bool)
        {
            //alert ('返回的有false');
            return false;
        }
        else
        {
            //alert ('ok');
            return true;
        }
    }




作者: lg6514012   发布时间: 2010-09-28

HTML code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gbk">
        <script language="JavaScript" src="js/jquery-1.4.2.min.js">
        </script>
        <title>Untitled Document</title>
        <script language="JavaScript" type="text/javascript" id="_js">
            $(function(){
                //alert($("#_js").html());
            });
            function checkName1(){
                var a = $("#uname1").val();
                if (!a) {
                    document.getElementById("unamespan1").innerHTML = "用户名为必填项!";
                    return false;
                }else {
                    if (a.length < 4) {
                        document.getElementById("unamespan1").innerHTML = "用户名必须大于四位!";
                        return false;
                    }else {
                        
                        var url = "csdn 6.html";
                        
                        //---------**************--------
                        var flag = false;
                        
                        $.post(url, function(data){
                        //--------懒得做ajax测试,这里写死了,你改成你的即可---------    
                         //   if (false) {
                            if (true) {
                                document.getElementById("unamespan1").innerHTML = "用户名填写正确!";
                               flag = true;
                            }else {
                                document.getElementById("unamespan1").innerHTML = "该用户不存在!";
                            }
                        });
                        return flag;
                    }
                }
                
            }
            
             function subform(){
                if(!checkName1()){
                    alert ('返回的有false');
                    return false;
                }else{
                    alert ('ok');
                    return true;
                }
        }

        </script>
    </head>
    <body>
        <input type="button" name="uname2" value="test_button"  onclick="subform()">
        <input id="uname1" name="uname1" class="ipt1" style="float: left;" onblur="checkName1()">
        <br />
        <span id="unamespan1" style="font-size:12px; color:#F93;">请填写正确的用户名</span>
    </body>
</html>

作者: lvbang_lzt   发布时间: 2010-09-28

顶3L,要同步

作者: wuzheng40   发布时间: 2010-09-28