您的位置:首页 > Web前端 > JavaScript

ajax+js用户名静态校验

2016-08-04 10:49 344 查看
功能:静态校验用户名是否可用

***************js代码***************

<script type="text/javascript">

var xmlHttp;

//浏览器类型,火狐或ie

function createXMLHttpRequest() {

    if (window.ActiveXObject) {

        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

    }else if (window.XMLHttpRequest) {

        xmlHttp = new XMLHttpRequest();

    }
}

function accountCheck() {

    //获取用户名

    var account = document.validateForm.account.value;//account是用户id名

    if(account != ""){

        createXMLHttpRequest();

        var url = "路径" + escape(account); //escape的作用是向后台传值       

        xmlHttp.open("GET", url, true);

        xmlHttp.onreadystatechange = callback;

        xmlHttp.send(null);

    }
}

function callback() {

    if (xmlHttp.readyState == 4) {

        if (xmlHttp.status == 200) {

            var message = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;  //message是前台获取action中值得名字             

            var passed = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;             

            setMessage(message, passed);

        }

    }

      

}   

function setMessage(message, passed) {

     var validateMessage = document.getElementById("d1");

     var fontColor = 'red';

     if (passed != "true") {

        fontColor = 'green';

     }

     validateMessage.innerHTML = "<font color=" + fontColor + ">" + message + "</font>";

}    
</script>

*****************html*****************

<input type="text" id="account" name="agency.account" onblur="accountCheck()" placeholder="请输入用户名" >//用的是ssh框架,agency.account(实体类.属性名)

************后台代码(action)*********

/**

 * 检测用户名是否可用

* @return

*/

public String checkAccount(){
boolean boo = agencyService.accountCheck(agency.Account());
String message = "";
if(!boo){
message = "用户名可用";
}else{
message = "用户名已存在";
}
response.setContentType("text/xml;charset=utf-8");
PrintWriter out;
try {
out = response.getWriter();
response.setHeader("Cache-Control","no-cache");
out.println("<?xml version='1.0' encoding='"+"utf-8"+"' ?>");
out.println("<response>");
out.println("<passed>" + Boolean.toString(boo) + "</passed>");
out.println("<message>" + message + "</message>");
out.println("</response>");
out.close();
} catch (IOException e) {
e.printStackTrace();
}
 
return null;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: