我有以下作为父母和孩子
家长(只发布脚本和表单标签)
<script type='text/javascript'>
window.onload = function () {
document.getElementById('NewTicket').onsubmit = sendToChild;
document.getElementById('sName').onclick = openChild;
}
function openChild() {
this.disabled = true;
xWinOpen('SecList.asp');
this.disabled = false;
}
function sendToChild() {
if (xChildWindow) {
var pta = document.getElementById('sName');
var cta = xChildWindow.document.getElementById('sName');
cta.value = pta.value;
xChildWindow.focus();
}
return false;
}
var xChildWindow = null;
function xWinOpen(sUrl) {
// Modify 'features' to suit your needs:
var features = "left=100,top=100,width=400,height=400,location=0,menubar=0," +
"resizable=1,scrollbars=1,status=0,toolbar=0";
if (xChildWindow && !xChildWindow.closed) { xChildWindow.location.href = sUrl; }
else { xChildWindow = window.open(sUrl, "myWinName", features); }
xChildWindow.focus();
return false;
}</script><form name="NewTicket" target="_self" method="POST" action=""><input name="sName" type="text" value="ABC" id="sName"></form>
Child看起来像这样(再一次只有脚本和tbody部分)。
<script type='text/javascript'>
function sendToParent(myStr)
{
alert(myStr)
var myStrSplit = myStr.split("/")
opener.document.NewTicket.sID.value = myStrSplit[0]
opener.document.NewTicket.sName.value = myStrSplit[1]
document.write(myStrSplit[0])
document.write(myStrSplit[1])
self.close();
}
</script>
<tbody>
<%Do While Not oRS.EOF
sVal = oRS("sID") & "/" & oRS("SecDet")%>
<tr>
<td><%=oRS("sID")%></td>
<td><a href="#" onclick="sendToParent(" & <%=sVal%> & ")"><%=oRS("SecurityName")%></a></td>
<td><%=oRS("BBG_Ticker")%></td>
<td><%=oRS("ISIN_Code")%></td>
<td><%=oRS("Country")%></td>
<td><%=oRS("Curr")%></td>
</tr>
<%oRS.MoveNext
Loop%>
</tbody>
在子oRs(“SecDet”)中的是5个与“/”连接的字段,我在函数中进行拆分。
我想做什么? 正如您在子表单中看到的那样,将有一个表,我希望当用户单击任何行时,该行上的所有相应的6个字段应填充到父表中的6个文本字段。
我无法实现的目标? 似乎sendToParent()根本不起作用。
感谢您的帮助。
答案 0 :(得分:0)
以下代码终于奏效了......
父
<script>
function openwindow()
{
window.open("SecList.asp","_blank","height=200,width=400,status=yes,toolbar=no,menubar=no,location=no")
}
</script>
和孩子(有更正) Flakes也建议
<script type='text/javascript'>
function sendToParent(myStr)
{
alert(myStr)
var myStrSplit = myStr.split("/")
opener.document.NewTicket.sID.value = myStrSplit[0]
opener.document.NewTicket.sName.value = myStrSplit[1]
document.write(myStrSplit[0])
document.write(myStrSplit[1])
self.close();
}
</script>
<tbody>
<%Do While Not oRS.EOF
sVal = oRS("sID") & "/" & oRS("SecDet")%>
<tr id="<%="sID" & oRS("sID")%>">
<td><%=oRS("sID")%></td>
<td><a href="#" onclick="sendToParent('<%=sVal%>')"><%=oRS("SecurityName")%></a></td>
<td><%=oRS("BBG_Ticker")%></td>
<td><%=oRS("ISIN_Code")%></td>
<td><%=oRS("MarketName")%></td>
<td><%=oRS("Curr")%></td>
</tr>
<%oRS.MoveNext
Loop%>
</tbody>