ajax做无刷新登录功能,弄了两天了,请细心的朋友一定要过来看看,50分相送。
1:jsp页面。
< form action= "glxx.jsp " method= "post " name= "mainForm " id= "mainForm ">
<input type= "image " name= "imageField " src= "../img/lz34.gif "
onclick= "return SelectLoginUser() "/>
< / form>
2:js
<%@ page language= "java " contentType= "text/html; charset=utf-8 "
pageEncoding= "utf-8 "%>
<script>
function queryStringName()
{
var name = document.getElementById( "name ").value;
return name;
}
function queryStringMobile()
{
var Mobile = document.getElementById( "Mobile ").value;
return Mobile;
}
function SelectLoginUser()
{
if (queryStringName()!= " ") {
if (queryStringMobile()!= " ") {
alert(SelectUser());//提示是undefined类型,所以用户名密码输错了,也提交了。
return SelectUser(); //去调用
}else
{
document.getElementById( "returninf ").value= "密码不能为空 ";
return false;
}
}else
{
document.getElementById( "returninf ").value= "用户名不能为空 ";
return false;
}
}
</script>
<script>
function SelectUser()
{
var xmlHttp;
var aa=false;
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest()
}
else if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject( "Microsoft.XMLHTTP ")
}
xmlHttp.onreadystatechange=function()
{
if((xmlHttp.readystate==4)&&(xmlHttp.status==200))
{
var xmlDoc=xmlHttp.responseXML;
document.getElementById( "returninf ").value=xmlDoc.getElementsByTagName( "info ")[0].text;
if (xmlDoc.getElementsByTagName( "info ")[0].text= "OK ") //如果数据中用户名密码输入正确,就返回OK
{
document.getElementById( "returninf ").value=xmlDoc.getElementsByTagName( "info ")[0].text;
aa=true;
return aa;
}
else
{
document.getElementById( "returninf ").value= "aabb ";
return aa;
}
}else
{
//return aa;
//alert( "3 "+aa);
}
}
//alert( "1 "+aa);
xmlHttp.open( "POST ", "SelectLoginUser?name= "+escape(queryStringName()).replace(/\+/g, "%2B ").replace(/%/g, "%25 ")+ "&mobile= "+escape(queryStringMobile()).replace(/\+/g, "%2B ").replace(/%/g, "%25 "),true);
xmlHttp.setRequestHeader( "CONTENT-TYPE ", "application/x-www-form-urlencoded;text/xml ");