一个很着急的问题
我用JSP做了一个注册的页面,这个注册页面包括企业注册和用户注册,这两个注册页面的代码都是写的同一个页面里,但是在两个不同table里,我用radio来脚本控制这两个table的显示和隐藏
代码如下:
<input type= "radio " name= "zctype " checked= "true " onclick= "showTable1( 'corpt1 '); "> 企业注册 </span>  input type= "radio " name= "zctype " onclick= "showTable1( 'user1 '); "> 用户注册
<script language= "javascript ">
function showTable1(obj)
{
if(obj== 'corpt1 ')
{
eval( "corpt1.style.display= ' '; ");
eval( "user1.style.display= 'none '; ");
}
else if(obj== 'user1 ')
{
eval( "user1.style.display= ' '; ");
eval( "corpt1.style.display= 'none '; ");
}
}
</script>
现在的问题是:
当我注册一个用户的时候,我到服务端去判断时
if(username.length() <1)
{
error_code=0;
out.println( " <script> alert( '用户名不能为空! ');history.back(); </script> ");
}
这时候跳回去的页面却是企业注册的页面,而不是我刚才用户注册的页面,请问这个问题应该怎么解决
当时也有想过把这两个注册页面分开来写就不会出现这个问题,但老板要求这样写在同一个页面里用脚本控制。
------解决方案--------------------因为你的页面中的 <input type= "radio " name= "zctype " checked= "true " onclick= "showTable1( 'corpt1 '); "> 企业注册的checked= "true ",所以在返回时就是企业注册页面
解决方法:你可以在以下条件里这样写:
if(username.length() <1)
{
session= "user1 ";
error_code=0;
out.println( " <script> alert( '用户名不能为空! ');history.back(); </script> ");
}
function showTable1(obj)
{
if(obj== 'corpt1 ' && session == 'corpt1 ')
{
eval( "corpt1.style.display= ' '; ");
eval( "user1.style.display= 'none '; ");
}
else if(obj== 'user1 ' && session == 'user1 ' )
{
eval( "user1.style.display= ' '; ");
eval( "corpt1.style.display= 'none '; ");
}
}