★:各路高手,近来看看,遇到一个问题,UP也给分!★ 么意思?你不打开新窗口就不会出这问题????如果你是先打开的FRfrm1,后打开的新窗口,你的frm1的action应该是不会变的啊。把你的代码贴上来瞅瞅。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一个页面的代码:<script language="Javascript"> function doNameSearch() { var flg1=document.all["Chk_app1_manname"].checked; var flg2=document.all["Chk_app2_manname"].checked; if (!flg1 && !flg2) { alert("no check box is selected"); return false; } window.open("<%=Form.getFormLinkURL("CMN_APP_NameSearchForm")%>","","width=580,height=630,scrollbars=1,resizable=1,left=150,top=20"); }</script><form name="frm1" action="<%=Form.getFormAction()%>" method="POST" enctype="multipart/form-data"> <input type="button" name="toSearch" value="检索" onclick="return doNameSearch()" style="background:#003399;color:White;width:75;"></form>新页的代码:JSP:<%@ page contentType="text/html;charset=Shift_JIS" %><%@ page import="jp.co.ite.application.common.*" %><%@ page import="jp.co.tenartni.data.*"%><jsp:useBean id="Session" class="jp.co.tenartni.xsv.BasicSessionClient" scope="request"/><jsp:useBean id="Form" class="jp.co.tenartni.xsv.HtmlFormClient" scope="request"/><html> <head> <title>名前検索</title> <script language="javascript"> function SetValue(idValue,nameValue,idParam1,nameParam1,idParam2,nameParam2) { //start add by ht 20021009 var checkFlg1=true; var checkFlg2=true; if (window.opener.document.all["Chk_app1_manname"]) { checkFlg1=window.opener.document.all["Chk_app1_manname"].checked; checkFlg2=window.opener.document.all["Chk_app2_manname"].checked; } //end add by ht 20021009 if (idValue==document.all.Manno_This.value) { alert("<%=CMN_APP_ErrorConstant.E0008%>"); return false; } for (i=0;i<document.all["Manno"].length;i++) { if (document.all.Manno[i].value==idValue && document.all.ProxyManno[i].value!="") { alert("<%=CMN_APP_ErrorConstant.E0008%>"); return false; } } if (idParam1!=null && nameParam1!=null && checkFlg1) { window.opener.document.all[idParam1].value=idValue; window.opener.document.all[nameParam1].value=nameValue; window.opener.document.all["f"+idParam1].value=idValue; window.opener.document.all["f"+nameParam1].value=nameValue; //start add by ht 20021009 if (window.opener.document.all["Chk_app1_manname"]) { window.opener.document.all["Chk_app1_manname"].checked=false; } //end add by ht 20021009 } if (idParam2!="null" && nameParam2!="null" && checkFlg2) { //start add by ht 20021009 window.opener.document.all[idParam2].value=idValue; window.opener.document.all[nameParam2].value=nameValue; if (window.opener.document.all["Chk_app2_manname"]) { window.opener.document.all["Chk_app2_manname"].checked=false; } //end add by ht 20021009 window.opener.document.all["f"+idParam2].value=idValue; window.opener.document.all["f"+nameParam2].value=nameValue; } //edit by ht 20021009 //window.close(); self.close(); } </script> </head> <body bgcolor="#FFFFFF" text="#000000" background="images/back.gif" style="font-size:10pt;" topmargin="0"> <div align="center" style="display:none;"> <%=Form.getTable("hProxyCheck")%> <input type="Hidden" name="Manno_This" value="<%=Session.getParam(CMN_APP_ColConstant.MANNO)%>"> </div> <div align="center"> <p><img src="images/title/com070.gif" width="150" height="32"></p> <p> </p> <form action="<%=Form.getFormAction()%>" method="POST" target=""> <table width="530" border="0" height="64" style="font-size:10pt"> <tr> <td width="470"> <%=Form.getTable("hQueryCond")%> </td> <td> <%=Form.getSubmitButtons()%> </td> </tr> </table> <hr align="center" width="100%"> <table width="530" border="0" height="64" style="font-size:10pt"> <tr> <td width="470"> <% if (Form.getDataCount("hQueryResult") > 0) { out.print(Form.getTable("hQueryResult")); out.print(Form.getNaviLink("hQueryResult")); } else if (Form.getNormalMessage().length() == 0) { %> <script language="javascript"> var selectParam = document.all["SectionCd"].length - 1; document.all["SectionCd"].options[selectParam].selected = true; document.all["ProxyMan"].value=""; document.all["ProxyManname"].value=""; </script> <% } %> </td> <td> </td> </tr> </table> <table align="center"> <tr> <td> <% if (Form.getErrorMessage().length() != 0) { %> <div align="center"> <% out.print(Form.getErrorMessage().substring(0,25)+Form.getErrorMessage().substring(33,Form.getErrorMessage().length())); %> </div> <% } else if (Form.getNormalMessage().length() != 0) { %> <div align="center" style="font-size:12pt"> <% out.print(Form.getNormalMessage()); %> </div> <% } %> </td> </tr> </table> <div style="display:none;"> <%=Form.getComInfo()%> </div> </form> </div> </body></html> 这里我只给出了JSP的代码,需要看FORM的代码吗????????????? 我觉得问题出在<form name="frm1" action="<%=Form.getFormAction()%>" method="POST" enctype="multipart/form-data">和第二个页面的<form action="<%=Form.getFormAction()%>" method="POST" target=""> 你的 action 是在服务器端解析的,到客户端后,只要你没在脚本里改变它,他就不会变。你还没说清楚你的错到底是什么,是你打开新窗口你的frm1的action才不对了,还是不打开也有这个问题?????? 当我打开新窗口之后,frm1的action就不对了. 我的Java很菜,还是初级阶段,帮不上您的忙,只能UP 你正常提交和打开新页面再提交用脚本把action,alert出来看看,看看到底变成什么了?你的action是用java来生成的,不管你客户端搞什么了,只要不改变它,它就不改变啊。 对于路径的问题,alert显示的是我框架内固定的路径,因为我是按照一定框架做的,所以呢?到现在我还是很迷茫,只希望大家给点建议,我去试试....谢谢..............各位.......... 取相对路径应该是可以的啊。把调取action的地方的路径传进去,用相对路径来搞试试。 具体说说你的取action的那个方法是怎么写的,你的路径是怎么取的。 Action是由Form.getFormAction()来决定的,具体路径的取得是由框架来完成的. 我想,Java函数传递的是对象的引用,所以打开frm2后的操作,同样施加给frm1,这样frm1的Action就变成了frm2的Action。不知是否是这样^_^ 楼上的英雄,他的frm1的action是在frm2打开前就已经解析好了,所以就算有你说的情况,只要frm1不刷新,它的action是不会重新解析的。不知道楼主所说的由框架取路径为什么不对,是否是就算你的action 显式的定义为submitto.jsp或者url,由框架加上路径也不对了? 我感觉 jaderiver() ( ) ,说的对!因为,你没有刷新,同时这个frm2的Action也就用到了frm1的action,你可以不这样写,直接用action="reg_ok.jsp" 初学者关于线程中synchronized关键字的用法的疑惑 android Activity属性 java基础问题!!!!!! hibernate 连接 mysq 问题 最菜鸟问题 DWR框架和spring整合出现的问题 xml解析 关于resultset java调用VC写的DLL,如何传递参数 初学者问题 关于从数据库中读出数据写入TXT文件换行的问题!!! 如何对一个文件中的特定字符串进行查找,然后替换
<script language="Javascript">
function doNameSearch()
{
var flg1=document.all["Chk_app1_manname"].checked;
var flg2=document.all["Chk_app2_manname"].checked;
if (!flg1 && !flg2)
{
alert("no check box is selected");
return false;
}
window.open("<%=Form.getFormLinkURL("CMN_APP_NameSearchForm")%>","","width=580,height=630,scrollbars=1,resizable=1,left=150,top=20");
}
</script>
<form name="frm1" action="<%=Form.getFormAction()%>" method="POST"
enctype="multipart/form-data">
<input type="button" name="toSearch" value="检索"
onclick="return doNameSearch()"
style="background:#003399;color:White;width:75;">
</form>
新页的代码:
JSP:
<%@ page contentType="text/html;charset=Shift_JIS" %>
<%@ page import="jp.co.ite.application.common.*" %>
<%@ page import="jp.co.tenartni.data.*"%>
<jsp:useBean id="Session" class="jp.co.tenartni.xsv.BasicSessionClient" scope="request"/>
<jsp:useBean id="Form" class="jp.co.tenartni.xsv.HtmlFormClient" scope="request"/>
<html>
<head>
<title>名前検索</title>
<script language="javascript">
function SetValue(idValue,nameValue,idParam1,nameParam1,idParam2,nameParam2)
{
//start add by ht 20021009
var checkFlg1=true;
var checkFlg2=true; if (window.opener.document.all["Chk_app1_manname"])
{
checkFlg1=window.opener.document.all["Chk_app1_manname"].checked;
checkFlg2=window.opener.document.all["Chk_app2_manname"].checked;
}
//end add by ht 20021009
if (idValue==document.all.Manno_This.value)
{
alert("<%=CMN_APP_ErrorConstant.E0008%>");
return false;
}
for (i=0;i<document.all["Manno"].length;i++)
{
if (document.all.Manno[i].value==idValue && document.all.ProxyManno[i].value!="")
{
alert("<%=CMN_APP_ErrorConstant.E0008%>");
return false;
}
}
if (idParam1!=null && nameParam1!=null && checkFlg1)
{
window.opener.document.all[idParam1].value=idValue;
window.opener.document.all[nameParam1].value=nameValue;
window.opener.document.all["f"+idParam1].value=idValue;
window.opener.document.all["f"+nameParam1].value=nameValue;
//start add by ht 20021009
if (window.opener.document.all["Chk_app1_manname"])
{
window.opener.document.all["Chk_app1_manname"].checked=false;
}
//end add by ht 20021009
}
if (idParam2!="null" && nameParam2!="null" && checkFlg2)
{
//start add by ht 20021009
window.opener.document.all[idParam2].value=idValue;
window.opener.document.all[nameParam2].value=nameValue;
if (window.opener.document.all["Chk_app2_manname"])
{
window.opener.document.all["Chk_app2_manname"].checked=false;
}
//end add by ht 20021009
window.opener.document.all["f"+idParam2].value=idValue;
window.opener.document.all["f"+nameParam2].value=nameValue;
}
//edit by ht 20021009
//window.close();
self.close();
}
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" background="images/back.gif" style="font-size:10pt;" topmargin="0">
<div align="center" style="display:none;">
<%=Form.getTable("hProxyCheck")%>
<input type="Hidden" name="Manno_This" value="<%=Session.getParam(CMN_APP_ColConstant.MANNO)%>">
</div>
<div align="center">
<p><img src="images/title/com070.gif" width="150" height="32"></p>
<p>
</p>
<form action="<%=Form.getFormAction()%>" method="POST" target="">
<table width="530" border="0" height="64" style="font-size:10pt">
<tr>
<td width="470">
<%=Form.getTable("hQueryCond")%>
</td>
<td>
<%=Form.getSubmitButtons()%>
</td>
</tr>
</table>
<hr align="center" width="100%">
<table width="530" border="0" height="64" style="font-size:10pt">
<tr>
<td width="470">
<%
if (Form.getDataCount("hQueryResult") > 0)
{
out.print(Form.getTable("hQueryResult"));
out.print(Form.getNaviLink("hQueryResult"));
}
else if (Form.getNormalMessage().length() == 0)
{
%>
<script language="javascript">
var selectParam = document.all["SectionCd"].length - 1;
document.all["SectionCd"].options[selectParam].selected = true;
document.all["ProxyMan"].value="";
document.all["ProxyManname"].value="";
</script>
<%
}
%>
</td>
<td> </td>
</tr>
</table>
<table align="center">
<tr>
<td>
<%
if (Form.getErrorMessage().length() != 0)
{
%>
<div align="center">
<%
out.print(Form.getErrorMessage().substring(0,25)+Form.getErrorMessage().substring(33,Form.getErrorMessage().length()));
%>
</div>
<%
}
else if (Form.getNormalMessage().length() != 0)
{
%>
<div align="center" style="font-size:12pt">
<%
out.print(Form.getNormalMessage());
%>
</div>
<%
}
%> </td>
</tr>
</table>
<div style="display:none;">
<%=Form.getComInfo()%>
</div>
</form>
</div>
</body>
</html>
你还没说清楚你的错到底是什么,是你打开新窗口你的frm1的action才不对了,还是不打开也有这个问题??????
UP
你的action是用java来生成的,不管你客户端搞什么了,只要不改变它,它就不改变啊。
谢谢..............各位..........
这样frm1的Action就变成了frm2的Action。
不知是否是这样
^_^
不知道楼主所说的由框架取路径为什么不对,是否是就算你的action 显式的定义为submitto.jsp或者url,由框架加上路径也不对了?
因为,你没有刷新,同时这个frm2的Action也就用到了frm1的action,你可以不这样写,直接用action="reg_ok.jsp"