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;
}
***************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;
}
相关文章推荐
- js正则表达式语法
- JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
- jsp中防止xss攻击
- [leetcode]306. Additive Number -- JavaScript 代码
- JS 判断鼠标长按 实例
- 点击按钮出现60秒禁用倒计时js代码
- 开发技巧汇总|对于imag.js你不知道的事
- 直播中用到的一些js
- 百度翻译,窗体调用js
- 用postal.js在angular中实现订阅发布消息
- 关于js中按钮类型是image时表单验证问题---点击一次可以验证再次点击直接提交--的问题
- 用listview做联动菜单,省市区为例,附带省市区json文件
- ckeditor 获取hiddenfield 隐藏域的dom对象
- three.js绕边缘旋转
- JS识别不同浏览器信息
- JS 数字转换为大写金额的简单实例
- JS中showModalDialog 详细使用
- 关于自增和自减
- JS里面Number和parseInt的区别
- JavaScript强化教程——javascript性能优化