日期:2014-05-18  浏览次数:20711 次

一个简单的ajax表单问题
我写了一个ajax程序,奇怪的是   用于用户注册时,程序运行正确;但在用户登录时,却出现问题。登录时填写的表单内容不能够提交到   struts   的   aciton     ,总是传一个空值。   希望朋友们能够给与解决方法。

代码如下:
<%@   page   language= "java "   pageEncoding= "gb2312 "%>
<%@   taglib   uri= "http://jakarta.apache.org/struts/tags-bean "   prefix= "bean "%>  
<%@   taglib   uri= "http://jakarta.apache.org/struts/tags-html "   prefix= "html "%>
<html>  
<head>
<title> 用户登录 </title>

<script   src= "js/net.js "> </script>  
</head>
<body>
<script   type= "text/javascript ">  

var   times=0;

var   form   =   document.loginForm;

function   subform(){  

var   gtext=this.req.responseText;  

var   info=document.getElementById( "info ");  

if(gtext.indexOf( "validate_successful ")!=-1){  

document.forms[ "form "].submit();


//当得到的值表示合法,则验证码通过。  

}else{  

times++;  

if(times> =3){//如果连接3次输入错误,则重载图片,可以防止作弊和用户看不清图片;  

info.innerHTML= "接连3次输入错误。更新验证码,请重新输入 ";  

document.forms[ "form "].num.value= " ";  

show(document.getElementById( 'random '));  

times=0;  

}else{  

info.innerHTML= "第 "+times+ "次验证码错误,请注意区分大小写   ";  

}  

document.forms[ "form "].num.select();  

}  

}  

function   validata(obj){  

var   enter=true;  

var   info=document.getElementById( "info ");  

var   msg= " ";  

if(obj.email.value.match(/^\s*$/g)){//如果未输入邮箱,提示  

msg+= "请输入您的邮箱 <br> ";enter=false  

}
if   (obj.email.value.length!=   0)
{
for   (i=0;   i <obj.email.value.length;   i++)
if   (obj.email.value.charAt(i)== "@ ")
break;
if   (i==obj.email.value.length)
{
msg+= "邮箱不合法 <br> ";enter=false
  }

}

if(obj.pwd.value.match(/^\s*$/g)){//如果未输入密码,提示  

msg+= "请输入您的密码 <br> ";enter=false  

}  

if(obj.num.value.match(/^\s*$/g)){//如果未输入验证码,提示  

msg+= "请输入验证码 <br> ";enter=false  

}  

if(enter==true){

return   subform();

}

if(enter==false){  

info.innerHTML=msg;  

return   false;  

}

var   url= "num.jsp?num= "+obj.num.value;  

var   newxmlhttp=new   net.ContentLoader(url,subform, " ", "get ",null,null);  

return   false;  

}  

function   show(o){  

//重载验证码  

var   timenow   =   new   Date().getTime();  

o.src= "random.jsp?d= "+timenow;  

}  

</script>