javascript 子窗体父窗体相互传值方法

脚本之家精简使用版本,一般情况好多cms都有一些这样的函数。dedecms中的选择相关文章也是用的这样的函数。下面给出具体的代码。
父页面核心代码:

复制代码 代码如下:


<script>
function SelectArcListA(fname){
var posLeft = 10;
var posTop = 10;
window.open("content_select_list.asp?f="+fname+"&k="+form1.keyword.value, "selArcList", "scrollbars=yes,resizable=yes,statebar=no,width=700,height=500,left="+posLeft+", top="+posTop);
}
</script>
<input type="button" onChange="" value="从已发布文档中选取...">


子页面的核心代码:

复制代码 代码如下:


<SCRIPT language=javascript>
//获得选中文件的文件名
function getCheckboxItem()
{
var allSel="";
if(document.form2.arcID.value) return document.form2.arcID.value;
for(i=0;i<document.form2.arcID.length;i++)
{
if(document.form2.arcID[i].checked)
{
if(allSel=="")
allSel = document.form2.arcID[i].value;
else
allSel = allSel+","+document.form2.arcID[i].value;
}
}
return allSel;
}
function selAll()
{
for(i=0;i<document.form2.arcID.length;i++)
{
if(!document.form2.arcID[i].checked)
{
document.form2.arcID[i].checked=true;
}
}
}
function noSelAll()
{
for(i=0;i<document.form2.arcID.length;i++)
{
if(document.form2.arcID[i].checked)
{
document.form2.arcID[i].checked=false;
}
}
}
function ReturnValue()
{
if(window.opener.document.form1.xiangguanid.value==""){
window.opener.document.form1.xiangguanid.value = getCheckboxItem();
}
else{
window.opener.document.form1.xiangguanid.value += ","+getCheckboxItem();
}
alert("成功增加你选中的ID,你可以继续增加");
//window.opener=true;
//window.close();
}


下面是html代码,页面中需要<input type="checkbox" value="<%=rs("id")%>">输出选择的id

复制代码 代码如下:


<A class=inputbutx
href="javascript:selAll()">全选</A> &nbsp; <A class=inputbutx
href="javascript:noSelAll()">取消</A> &nbsp; <A class=inputbutx
href="javascript:ReturnValue()">把选定值加到列表</A>


一下是补充:
//模式窗体传值

<!-- ====== 父窗体,我取名为parentform.html ==== -->

复制代码 代码如下:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>弹出窗口内录入数据确定后返回给父窗体--主窗体</title>
<META CONTENT="EditPlus">
<META CONTENT="jb 51.net">
<META CONTENT="">
<META CONTENT="">

<script language="javascript" type="text/javascript">
function doInput()
{
var win = window.showModalDialog("Childform.html",window,"dialogWidth=500px;dialogHeight=300px;center=yes;status=no");
if(win != null)
{
document.getElementById("parentTextBox").value = win;
}
}
</script>

</head>
<body>在新弹出的窗体里输入数据,传输到父窗体.
<br/>
<br/>
<br/>
&nbsp;&nbsp;<input type="text" /> <a href="javascript:doInput()">点这里弹出子窗体</a>
</BODY>
</HTML>


<!-- ============= 父窗体代码结束 ============= -->

<!-- ======= 子窗体:取名为childform.html  ======= -->

复制代码 代码如下:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title> 弹出窗口内录入数据确定后返回给父窗体--子窗体</title>
<META CONTENT="EditPlus">
<META CONTENT="qiujy">
<META CONTENT="">
<META CONTENT="">
<base target="_self">
</head>
<body topmargin="0" leftmargin="0" scroll="no">
</br>
&nbsp;&nbsp;<input type="text"/>
</br></br>
&nbsp;&nbsp;<a href="javascript:doPassToParent()">点这里返回</a>
</BODY>
</HTML>
<script language="javascript" type="text/javascript">
document.getElementById("childTextBox").value = window.dialogArguments.document.getElementById("parentTextBox").value;
function doPassToParent()
{
if(document.getElementById("childTextBox").value.length <=0)
{
alert("请填写数据");
return;
}
window.returnValue = document.getElementById("childTextBox").value;
window.close();

}
</script>


//子窗体和父窗体传值

1.新建两个页面 一个是 Parent.html

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdxxsf.html