点击一个按钮之后,做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>