为什么小弟我要点击两次才能提交呢?usernameFlag值要如何放才好

为什么我要点击两次才能提交呢?usernameFlag值要怎么放才好?
这逻辑哪里出了毛病??帮忙调调~~

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>表单</title>
</head>

<body>
<form action="a.html" method="post" onsubmit="return tijiao()">
<input type="text" name="realname" maxlength="7">
<input type="submit" value="提交" />
</form>

<script src="http://libs.useso.com/js/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">
var usernameFlag=false;
function checkUserName(o){
  var objname=o.attr("name");
  var uname =o.val();
//输入s
  var re=/s/;
  if(!re.test(uname)){
      return false;
  }else{
    $.ajax({
      type:"post",
      url:"c.html",
      data:{uname:uname},
      success:function(result){
        if(result=="1"){
          console.log("已存在")
           return false;
        }else{
          console.log("可用");
          usernameFlag=true;
        }
      }
    })
   
  }
  return usernameFlag;
}

function tijiao(){
  var $realname=$("input[name='realname']");
  if(!checkUserName($realname)){
    return false;
  }else{
    return true;
  }
}
</script>
</body>
</html>





c.html就一个字:0
------解决思路----------------------
 $.ajax({
      type:"post",
      url:"c.html",
async:false,
      data:{uname:uname},
      success:function(result){
        if(result=="1"){
          console.log("已存在")
           return false;
        }else{
          console.log("可用");
          usernameFlag=true;
        }
      }
    })