当前位置: 代码迷 >> Java Web开发 >> 点击一个旋钮后,先自己提交自己后,对取得的变量进行判断,否和要求的话打开子窗体,并讲变量传到子窗体
  详细解决方案

点击一个旋钮后,先自己提交自己后,对取得的变量进行判断,否和要求的话打开子窗体,并讲变量传到子窗体

热度:134   发布时间:2016-04-17 12:22:25.0
点击一个按钮后,先自己提交自己后,对取得的变量进行判断,否和要求的话打开子窗体,并讲变量传到子窗体
点击一个按钮之后,做2件事
1页面提交action=自己,从后台取值,刷新本页面
2对取到的值进行判断,符合要求,弹出新窗口,并给新窗口传值

function OpenWindow()
{
  var kaisyaparts;
  parts = <%= int_focusparts %>
  if(parts <17 || parts > 41){
  var subwin;
  subwin=window.open('子窗体',,directories='no',menubar='no',srollbar='no',resizable='no',location='no',status='no')
  subwin.focus();
  return false; 
  }
  }
}
...


   
现在的问题是:
1
打开新窗口的动作放到 onload事件中时,子窗体可以打开,并可以传值,但是父窗体地址找不到了,变成空白页面了。action 变成 no了。
<body bgcolor="#CCFFCC" onLoad="OpenWindow();" style="overflow:auto">

2
打开新窗口的动作放到 按钮的onclick事件中时 ,子窗体可以打开,父窗体也能提交并刷新,但是,子窗体在父窗体提交之前就打开了,父窗体提交后得到的值还没取到,子窗体就打开了。
<input type="submit" name="p_kaisya" value="選択" <%= strErrDisp_p_kaisya %> onclick="OpenWindow();" ></td>



------解决方案--------------------
把函数放到最后执行看看,也就是在</body>之前调用
------解决方案--------------------
action的值是如何设置的
------解决方案--------------------
写一个简单的测试程序放这里,我测试一下看看
------解决方案--------------------
你可以用JS提交 可以去 看我博客的文章 有讲到子父窗体的内容 可以参考参考 你按提交的时候就到JS里提交 就不会出现你那问题;了
------解决方案--------------------
我对代码进行了简单的修改,主要错误应该是window.open方法的使用:
HTML code
<%@ page language="java" contentType="text/html;charset=GBK" %> <%               String      souko_cd1 = "";                 String      souko_cd2 = "";                 String      int_focusparts = "";             String Bt_select = (String)request.getParameter("p_kaisya"); souko_cd1 = (String)request.getParameter("k_souko_cd_1"); if(souko_cd1==null){ souko_cd1=""; } souko_cd2 = (String)request.getParameter("k_souko_cd_2"); if(souko_cd2==null){ souko_cd2=""; } int_focusparts = souko_cd2; session.setAttribute("cd_1",souko_cd1); %> <html> <head> <title>test </title> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <script language='javascript'>alert('int_focusparts=\"<%= int_focusparts %>\"  \n '); </script> <script language="JavaScript"> <!-- function OpenWindow() {     var select= "<%= Bt_select %>";     if(select == 'select' ){     alert('select=\"' + select +'\"');         var kaisyaparts = "<%= int_focusparts %>";  //  alert('kaisyaparts=\"' + kaisyaparts +'\"');         if(kaisyaparts  < 17  || kaisyaparts > 41){             var subwin;             subwin=window.open('b.jsp',null,"menubar=no,srollbar=no,resizable=no,location=no,status=no");             subwin.focus();         }     }     return false;  } --> </script> </head> <body bgcolor="#CCFFCC" onLoad="" style="overflow:auto"> <left> <h1 align="center" class="title" nowrap>test </h1> </left> <form name="form1" method="post" action="a.jsp"> <table > <tr> <td>      <tr height="19">        <td width="" align="left" >texta </td>        <td width="" align="left" >textb </td>        <td width="" align="left" > </td>      </tr>      <tr height="19">        <td width="" align="left" > <input type="text" name="k_souko_cd_1" size="3" maxlength="2" value="<%= souko_cd1 %>" style="ime-mode:disabled"  > </td>        <td width="" align="left" > <input type="text" name="k_souko_cd_2" size="3" maxlength="2" value="<%= souko_cd2 %>" style="ime-mode:disabled"  > </td>        <td width="" align="left" > <input type="submit" name="p_kaisya" value="select" onclick="" > </td>      </tr> </table> <script language="JavaScript"> void(OpenWindow()); </script> </form> </body> </html>
  相关解决方案