function checkusername(){ var username=document.getElementById("").value; //1.创建XMLHttp协议对象 var xmlHttp; if(window.ActiveXObject){ xmlHttp=newActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest){ xmlHttp=newXMLHttpRequest(); }else{ alert('您的浏览器不支持Ajax验证'); } //2.创建一个请求 varmethod="GET"; //将中文参数值转成UTF-8编码,解决传递参数的中文问题 var url="TestAjaxAndValidatorAction!CheckUser.action?username="+username; url=encodeURI(url); xmlHttp.open(method,url); //3.设置readyState响应处理函数 xmlHttp.onreadystatechange=function(){ //判断是否已经完成 if(xmlHttp.readyState==4){ //判断响应是否正常 if(xmlHttp.status==200){ //获取服务端响应的字符串 var result=xmlHttp.responseText; //document.getElementById("xxx").innerHTML=result; alert(result); } } } //4.发送请求 xmlHttp.send(); }
jsp:
<s:formaction="TestAjaxAndValidatorAction!insertUser.action"method="post">
<s:textfieldlabel="用户名"id="userName"name="userName"onblur="checkusername();"></s:textfield>
<s:textfieldlabel="密码"name="password"></s:textfield>
<s:submitvalue="注册用户"></s:submit>
</s:form>
提交时验证到后台action
在action里调用数据库对用户名进行验证,可用response.getWriter().write()方法写入
也可以在配置文件中
<resultname="success">
<paramname="resultValue">$resultValue}</param>
</result>
注:action里直接给resultValue复制,(最好为全局变量)