如何使用 javascript in Struts 将值从子页面传递到父页面
How to pass value from child page to parent page with javascript in Struts
当单击 boo 按钮时,打开 showmodeldialoge 并在按下 foo 按钮时检查 showmodeldialoge 中的某些行无法从子页面获取值并传递给父页面
父页面代码:
function explain() {
//newwin = window.open('domain.do?method=showBranchForm','newwin');
var a='domain.do?method=showBranchForm';
window.showModalDialog(a, self, 'status:no;resizable:yes;help:no;scroll:yes;width:1300;height:600');
}
<input <%=branchEnable%> class="btn"
style="width: 120px" value="boo" type="button"
onclick="explain();" />
应在此处显示子值:
<select id="listbranch"
multiple="multiple" size="8" name="listbranch"
style="width: 200px; font-family: tahoma; font-size: 16"/>
这是子页面:
<script language="javascript" type="text/javascript">
function TransferData()
{
opener.window.document.forms[0].elements['listbranch'].length=0;
counter=0;
document.forms.newform.elements
for(i=0; i<document.forms[0].elements.length; i++)
{
if(document.forms[0].elements[i].type=="checkbox")
{
if(document.forms[0].elements[i].checked==true)
{
opener.window.addOption(document.forms[0].elements[i].value,document.forms[0].elements[i].id,counter);
counter++;
}
}
}
window.close();
}
</script>
<tbody>
<%
if(branchsIterator != null){
while(branchsIterator.hasNext()){
Branch t = branchsIterator.next();
%>
<tr>
<td><input type="checkbox" id="<%=t.getBranchCode()%>" value="<%=t.getBranchName() %>"/></td>
<td ><%=t.getBranchName() %></td>
<td><%=t.getBranchCode() %></td>
</tr>
<%}
}
%>
</tbody>
<input class="btn" type="button" value="اfoo" style="width:200px" onclick="TransferData();" />
要获取值,您应该使用在使用 window.showModalDialog
时返回的 var
变量。这是一个对象,当您在子 window 中按下按钮时,您可以在其中存储您的值。
window.returnValue = 'some value';
所以,在父window中你可以得到函数returns之后的值。
var dialog = window.showModalDialog(a, self, 'status:no;resizable:yes;help:no;scroll:yes;width:1300;height:600');
alert(dialog.returnValue);
当单击 boo 按钮时,打开 showmodeldialoge 并在按下 foo 按钮时检查 showmodeldialoge 中的某些行无法从子页面获取值并传递给父页面 父页面代码:
function explain() {
//newwin = window.open('domain.do?method=showBranchForm','newwin');
var a='domain.do?method=showBranchForm';
window.showModalDialog(a, self, 'status:no;resizable:yes;help:no;scroll:yes;width:1300;height:600');
}
<input <%=branchEnable%> class="btn"
style="width: 120px" value="boo" type="button"
onclick="explain();" />
应在此处显示子值:
<select id="listbranch"
multiple="multiple" size="8" name="listbranch"
style="width: 200px; font-family: tahoma; font-size: 16"/>
这是子页面:
<script language="javascript" type="text/javascript">
function TransferData()
{
opener.window.document.forms[0].elements['listbranch'].length=0;
counter=0;
document.forms.newform.elements
for(i=0; i<document.forms[0].elements.length; i++)
{
if(document.forms[0].elements[i].type=="checkbox")
{
if(document.forms[0].elements[i].checked==true)
{
opener.window.addOption(document.forms[0].elements[i].value,document.forms[0].elements[i].id,counter);
counter++;
}
}
}
window.close();
}
</script>
<tbody>
<%
if(branchsIterator != null){
while(branchsIterator.hasNext()){
Branch t = branchsIterator.next();
%>
<tr>
<td><input type="checkbox" id="<%=t.getBranchCode()%>" value="<%=t.getBranchName() %>"/></td>
<td ><%=t.getBranchName() %></td>
<td><%=t.getBranchCode() %></td>
</tr>
<%}
}
%>
</tbody>
<input class="btn" type="button" value="اfoo" style="width:200px" onclick="TransferData();" />
要获取值,您应该使用在使用 window.showModalDialog
时返回的 var
变量。这是一个对象,当您在子 window 中按下按钮时,您可以在其中存储您的值。
window.returnValue = 'some value';
所以,在父window中你可以得到函数returns之后的值。
var dialog = window.showModalDialog(a, self, 'status:no;resizable:yes;help:no;scroll:yes;width:1300;height:600');
alert(dialog.returnValue);