首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp中的form提交和servlet有关问题

2012-01-05 
jsp中的form提交和servlet问题?我在jsp中的form中加INPUTtype submit name qd value 人员授权 o

jsp中的form提交和servlet问题?
我在jsp中的form中加
<INPUT   type= "submit "   name= "qd "   value= "人员授权 "   onClick= "window.close() ">
提交按钮
来关闭当前页,并且进入servlet中
<form     name= "form1 "   action= "../Cdsqservlet?cdid= <%=CDid%> "   method= "POST ">
但是点提交按钮的时候,关闭当前页,但是没有执行servlet,这是为什么?
下面是代码:
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN ">

<HTML>
<HEAD>
<%@   page  
language= "java "
contentType= "text/html;   charset=GB18030 "
pageEncoding= "GB18030 "
import= "java.sql.*,com.linkdb.*,java.util.StringTokenizer "
%>
<META   http-equiv= "Content-Type "   content= "text/html;   charset=GB18030 ">
<META   name= "GENERATOR "   content= "IBM   WebSphere   Studio ">
<META   http-equiv= "Content-Style-Type "   content= "text/css ">
<LINK   href= "../theme/Master.css "   rel= "stylesheet "   type= "text/css ">
<TITLE> cdsq.jsp </TITLE>
<jsp:useBean   id= "cdsq "   class= "com.cdsqbean.Cdsqbean "   scope= "page "> </jsp:useBean>
<jsp:useBean   id= "ry "   class= "com.dbopt.Ryxxoptbean "   scope= "page "> </jsp:useBean>

<%  
request.setCharacterEncoding( "GB18030 ");
response.setContentType( "text/html;   charset=GB18030 ");
String   cdid=request.getParameter( "cdid ");
int   CDid=Integer.parseInt(cdid);
cdsq.delsq(CDid);
%>
<style>
td,   select,   input   {
font-size:   9pt
}

.sel   {
font-size:   12px;
width:   100px;
position:   relative;
left:   -2px;
top:   -2px;
}

.box   {
border:   1   solid   #BBBBBB;
height:   19px;
width:   99px;
}

.box2   {
border:   1   solid   #FFFFFF;
overflow:   hidden;
height:   22px;
}
</style>

<script   language= 'Javascript '>

//***********************************************************************************


    var   subcat   =   new   Array();
                                                                <%
     
  String   sql= "SELECT   ryxm,bmmc,rybm   FROM   t_xtryb   a,t_xtbmb   b   where   a.szbmbm=b.bmbm   order   by   bmpx ";
AbstractPersistenceFactory     con=new   AbstractPersistenceFactory   ();
  Connection   conn=con.getconnections();
  Statement   stmt=conn.createStatement();
  ResultSet   rs=stmt.executeQuery(sql);
  int   temp=0;
  while(rs.next()){
%>
subcat[ <%=temp%> ]=new   Array( " <%=rs.getString( "ryxm ")%> ", " <%=rs.getString( "bmmc ")%> ", " <%=rs.getString( "rybm ")%> ");



<%
  temp   =   temp   +   1;
}%>

//*************************************************************************************


                                                                                                                //       这个数组可以根var   onecount=subcat.length;
var   c=0;d=0;                                                                                         //           2个select的optoins的索引位置...

function   moveto2(fn,s1,s2,s3,s4)                                                                 //           "> > "   Button   function
{
        fs1=eval(fn+ ". "+s1);                                                                 //             formName1.SelectName1
        fs2=eval(fn+ ". "+s2);
        fs3=eval(fn+ ". "+s3);
        fs4=eval(fn+ ". "+s4);

        d=fs2.options.length;
        for(i=0;i <fs1.options.length;i++)
                {
                        var   myOption   =   new   Option(fs1.options[i].innerText,fs1.options[i].value);    
                        var   myOption1   =   new   Option(fs3.options[i].innerText,fs3.options[i].value);  

                        fs2.options[d]=myOption   ;
                        fs2.options[d].selected=true;
                        fs1.options[i].selected=true;
                        fs4.options[d]=myOption1   ;

                        d++;
                }
        k=0;
        while(k <fs1.options.length)
                {
                        fs1.remove(k);
                        fs3.remove(k);
                        c--;


                }
}

function   moveto1(fn,s1,s2,s3,s4)         //         " < < "   Button
{
      fs1=eval(fn+ ". "+s1);
      fs2=eval(fn+ ". "+s2);
      fs3=eval(fn+ ". "+s3);
      fs4=eval(fn+ ". "+s4);
     
      c=fs1.options.length;
      for(i=0;i <fs2.options.length;i++)
            {
                        var   myOption   =   new     Option(fs2.options[i].innerText,fs2.options[i].value);    
                        var   myOption1   =   new   Option(fs4.options[i].innerText,fs4.options[i].value);  


                        fs1.options[c]=myOption   ;
                        fs1.options[c].selected=true;
                        fs2.options[i].selected=true;
                        fs3.options[c]=myOption1   ;

                        c++;
            }
      k=0;
      while(k <fs2.options.length)
                {
                        fs2.remove(k);
                        fs4.remove(k);

                        d--;
                }
}

function   move1to2(fn,s1,s2,s3,s4)         //             "> "   Button
{
        fs1=eval(fn+ ". "+s1);
        fs2=eval(fn+ ". "+s2);
        fs3=eval(fn+ ". "+s3);
        fs4=eval(fn+ ". "+s4);
   
        c=fs1.options.length;
        d=fs2.options.length;
   

        for(i=0;i <fs1.options.length;i++)
                {        
               
                  if(fs1.options[i].selected)
                      {  
                 
                        var   myOption   =   new     Option(fs1.options[i].innerText,fs1.options[i].value);    
                        var   myOption1   =   new     Option(fs3.options[i].innerText,fs3.options[i].value);


                        fs2.options[d]=myOption   ;
                        fs2.options[d].selected=true;
                          fs4.options[d]=myOption1   ;  
                     
                        d++;  
                         
                          }
                               
                }
                     
        k=0;
        while(k <fs1.options.length+3)                                                                           {
                        del(fn,s1,s2,s3,s4);
                        k++;
                }
  }


function   del(fn,s1,s2,s3,s4)                                                     {
        fs1=eval(fn+ ". "+s1);
        fs2=eval(fn+ ". "+s2);
        fs3=eval(fn+ ". "+s3);

        for(i=0;i <fs1.options.length;i++)
                {
                        if(fs1.options[i].selected)
                                {        
                                        fs1.remove(i);
                                        fs3.remove(i);
                                        c--;
                                }
                }
}

function   move2to1(fn,s1,s2,s3,s4)         //               " < "   Button
{      
        fs1=eval(fn+ ". "+s1);
        fs2=eval(fn+ ". "+s2);
        fs3=eval(fn+ ". "+s3);
        fs4=eval(fn+ ". "+s4);



        c=fs1.options.length;
        for(i=0;i <fs2.options.length;i++)
                {
                        if(fs2.options[i].selected)
                                {        
                                        var   myOption   =   new   Option(fs2.options[i].innerText,fs2.options[i].value);    
                                        var   myOption1   =   new     Option(fs4.options[i].innerText,fs4.options[i].value);

                                        fs1.options[c]=myOption   ;
                                        fs1.options[c].selected=true;
                                        fs3.options[c]=myOption1   ;
                                        //fs3.options[d].selected=true;

                                        c++;
                                }
                }
        k=0;
        while(k <fs2.options.length+3)
                {
                        del1(fn,s1,s2,s4);
                        k++;
                }
}

function   del1(fn,s1,s2,s4)
{
        fs1=eval(fn+ ". "+s1);
        fs2=eval(fn+ ". "+s2);
      //   fs3=eval(fn+ ". "+s3);
        fs4=eval(fn+ ". "+s4);

        for(i=0;i <fs2.options.length;i++)
                {
                        if(fs2.options[i].selected)
                                {        
                                        fs2.remove(i);
                                        fs4.remove(i);
                                        d--;


                                }
                }
}

function   F_SelectUserStr(fn,s1,s2)
    {

          fs1=eval(fn+ ". "+s1);
          fs2=eval(fn+ ". "+s2);
          c=fs1.options.length;
                  fs2.value= " ";
        for(i=0;i <c;i++)
            {
       
           
                                if(i==0)
                                    {
                           
                                      fs2.value=fs2.value+fs1.options[i].value;
                                        }
                                            else
                                                  {
                                                          fs2.value=fs2.value+ ", "+fs1.options[i].value;
                                                            }
                     
                }
              form1.src1.style.pixelWidth=200;
        }


[解决办法]
<INPUT type= "submit " name= "qd " value= "人员授权 " onClick= "window.close() ">
你还没提交就关闭了
<INPUT type= "submit " name= "qd " value= "人员授权 ">
提交到当前窗口,你应当处理完毕后再
out.println( " <script> window.close() </script> ");
[解决办法]
onClick= "window.close() "去掉就行了,提交表单,页面就会跳转到servlet,好像不需要人为去关闭吧?

---菜鸟之见
[解决办法]
submit是表单的提交事件,click是按扭的,他们是有先后的

你不关闭form这个页面,直接提交到servlet,然后在servlet里面转到一个空页面,这个空页面就一段关闭自己的脚本


[解决办法]
是的它们是有向后顺序的,也就是说onclick是先于action执行的,你可以用一个onclick命令,然后吧那段代码封装再javascript函数中!写的时候只须先进行表单提交然后关闭窗口就OK了。在方法中可这样写document.forms[0].action = "../Cdsqservlet?cdid= <%=CDid%> "; 关闭本窗口。

热点排行
Bad Request.