<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>itcast.cn用户名校验ajax实例</title>
 <script type="text/javascript" src="jslib/verifyown.js"></script>
 
</head>
<body>
    <form action="aa.jsp">
           用户名:<input type="text" id="userName" onclick="verify()"/>  <span id="result"></span><br />
           密码:<input type="text" id="password" />
    <input type="submit" value="提交"/>
    </form></body>
</html>var xmlhttp;
function verify() {
   
       var userName = document.getElementById("userName").value;  
    if (window.XMLHttpRequest) {
              xmlhttp = new XMLHttpRequest();
              if (xmlhttp.overrideMimeType) {
            xmlhttp.overrideMimeType("text/xml");
        }
    } else if (window.ActiveXObject) {
                var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
        for (var i = 0; i < activexName.length; i++) {
            try{
                               xmlhttp = new ActiveXObject(activexName[i]);
                break;
            } catch(e){
            }
        }
    }
       if (!xmlhttp) {
        alert("XMLHttpRequest对象创建失败!!");
        return;
    } else {
        //alert(xmlhttp.readyState);
    }       xmlhttp.onreadystatechange = callback;       xmlhttp.open("GET","AJAXServer?name="+ userName,true);       xmlhttp.send(null);
}//回调函数
function callback() {
         if (xmlhttp.readyState == 4) {
              if (xmlhttp.status == 200) {
                                var responseText = xmlhttp.responseText;
                                 var divNode = document.getElementById("result");
         
            divNode.innerHTML = responseText;
        } else {
            alert("出错了!!!");
        }
    }
}现在鼠标得点到input框上才能提交,不点不提交。怎么让他光标离开就提交?
另外这样即便是用户名存在表单也提交了,怎么让用户名不存在的时候才能正确的提交,错误的时候提交不了。
谢谢了

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <title>itcast.cn用户名校验ajax实例</title>
     <script type="text/javascript" src="jslib/verifyown.js"></script>
     
    </head>
    <body>
      <form action="aa.jsp">
      用户名:<input type="text" id="userName" onblur="verify()"/> <span id="result"></span><br />
      密码:<input type="text" id="password"  onblur="verify()"/>
      <input type="submit" value="提交"/>
      </form></body>
    </html>
    <script>
    var xmlhttp;
    function verify() {
        
      var userName = document.getElementById("userName").value;
      var password = document.getElementById("password").value;
    if(!userName || !password)return false;//当两个都username或者password没有填的时候
    // if(userName || password)return false;//同上相反的时候
       
      if (window.XMLHttpRequest) {
      xmlhttp = new XMLHttpRequest();
      if (xmlhttp.overrideMimeType) {
      xmlhttp.overrideMimeType("text/xml");
      }
      } else if (window.ActiveXObject) {
      var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
      for (var i = 0; i < activexName.length; i++) {
      try{
      xmlhttp = new ActiveXObject(activexName[i]);
      break;
      } catch(e){
      }
      }
      }
      if (!xmlhttp) {
      alert("XMLHttpRequest对象创建失败!!");
      return;
      } else {
      //alert(xmlhttp.readyState);
      }  xmlhttp.onreadystatechange = callback;  xmlhttp.open("GET","AJAXServer?name="+ userName,true);  xmlhttp.send(null);
    }//回调函数
    function callback() {
      if (xmlhttp.readyState == 4) {
      if (xmlhttp.status == 200) {
      var responseText = xmlhttp.responseText;
      var divNode = document.getElementById("result");
        
      divNode.innerHTML = responseText;
      } else {
      alert("出错了!!!");
      }
      }
    }
    </script>
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <title>itcast.cn用户名校验ajax实例</title>
     <script type="text/javascript" src="jslib/verifyown.js"></script>
     
    </head>
    <body>
      <form action="aa.jsp">
      用户名:<input type="text" id="userName" onblur="verify()"/> <span id="result"></span><br />
      密码:<input type="text" id="password" onblur="verify()"/>
      <input type="submit" value="提交"/>
      </form></body>
    </html>
    <script>
    var xmlhttp;
    function verify() {
        
      var userName = document.getElementById("userName").value;
      var password = document.getElementById("password").value;
    if(userName)return false;
        
      if (window.XMLHttpRequest) {
      xmlhttp = new XMLHttpRequest();
      if (xmlhttp.overrideMimeType) {
      xmlhttp.overrideMimeType("text/xml");
      }
      } else if (window.ActiveXObject) {
      var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
      for (var i = 0; i < activexName.length; i++) {
      try{
      xmlhttp = new ActiveXObject(activexName[i]);
      break;
      } catch(e){
      }
      }
      }
      if (!xmlhttp) {
      alert("XMLHttpRequest对象创建失败!!");
      return;
      } else {
      //alert(xmlhttp.readyState);
      }  xmlhttp.onreadystatechange = callback;  xmlhttp.open("GET","AJAXServer?name="+ userName,true);  xmlhttp.send(null);
    }//回调函数
    function callback() {
      if (xmlhttp.readyState == 4) {
      if (xmlhttp.status == 200) {
      var responseText = xmlhttp.responseText;
      var divNode = document.getElementById("result");
        
      divNode.innerHTML = responseText;
      } else {
      alert("出错了!!!");
      }
      }
    }
    </script>
      

  3.   

    把事件换成onblur,而且你这个不是用JQ自带的AJAX方法把! -.- 
      

  4.   


     <input type="submit" value="提交" onclick="CheckForm()"/>
    if(document.getElementById("divNode").outerhtml == "不存在的文本字符" && document.getElementById("userName").value == "")
    {
       alert("asda");
    }
      

  5.   


    直接在verify()加不可以吗?
    这个加在哪啊?还是单独写个函数啊?
      

  6.   

    写在checkForm()这个函数里面。新建立一个。
      

  7.   

    在上面的函数里面写也可以。那样的话就会在你每次离开文本框的时候。都会弹出一个提示框咯。不是在点击按钮的时候才弹出提示框if(divNode.outerHtml == "不存在的文本字符")
    {
        alert("asd");
        return;
    }function verify() {
       if(userName.value == "")
       {
          alert("123");
          return;
       }}
      

  8.   

    我的意思不是这样,我指的是现在我的基础之上怎么限制form表单的提交
    现在即便是空、而却用户名也存在他也可以正常的提交表单,我想不让他提交。