作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 01:32:31 阅读 我要评论

脚本之家精简使用版本,一般情况好多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 name="lsel" type="button" id="lsel" class="nbt" style="width:150px" onChange="" value="从已发布文档中选取..." onClick="SelectArcListA('form1.xiangguanid');"> 子页面的核心代码:复制代码 代码如下:<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" name="arcID" value="<%=rs("id")%>">输出选择的id复制代码 代码如下:<A class=inputbutx href="javascript:selAll()">全选</A> <A class=inputbutx href="javascript:noSelAll()">取消</A> <A class=inputbutx href="javascript:ReturnValue()">把选定值加到列表</A>一下是补充://模式窗体传值 <!-- ====== 父窗体,我取名为parentform.html ==== --> 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>弹出窗口内录入数据确定后返回给父窗体--主窗体</title> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT="jb 51.net"> <META NAME="Keywords" CONTENT=""> <META NAME="Description" 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/> <input type="text" id="parentTextBox" /> <a href="javascript:doInput()">点这里弹出子窗体</a> </BODY> </HTML> <!-- ============= 父窗体代码结束 ============= --> <!-- ======= 子窗体:取名为childform.html  ======= --> 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title> 弹出窗口内录入数据确定后返回给父窗体--子窗体</title> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT="qiujy"> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <base target="_self"> </head> <body topmargin="0" leftmargin="0" scroll="no"> </br> <input type="text" id="childTextBox"/> </br></br> <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 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>父窗体</title> <script language="javascript" type="text/javascript"> function OpenWindow(){ window.open('son.html'); } function setValue(m_strValue){ document.getElementById("txt_Value").value = m_strValue; } </script> </head> <body> <form id="form1" name="form1" method="post" action=""> <label> <input type="text" name="txt_Value" id="txt_Value" /> </label> <label> <input type="button" name="btn_ShowClose" id="btn_ShowClose" value="按钮" onclick="OpenWindow();" /> </label> </form> </body> </html> 另一个是子窗体 : 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>子窗体</title> <script language="javascript" type="text/javascript" > function CloseWind(){ opener.setValue("传值到父窗体"); window.close(); } </script> </head> <body> <form id="form1" name="form1" method="post" action=""> <label>关闭 <input type="button" name="btn_Close" id="btn_Close" value="按钮" onclick="CloseWind();" /> </label> </form> </body> </html> 2.通过子窗体执行的父窗体的setValue(m_strValue)来执行赋值操作.

  推荐阅读

  javascript基础知识整理

1 创建脚本块 程序代码 复制代码 代码如下: <script language="JavaScript"> JavaScript 代码写在这里面 </script> 2 隐藏脚本代码 程序代码 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 在不支持JavaS>>>详细阅读


本文标题:javascript 子窗体父窗体相互传值方法

地址:http://www.17bianji.com/kaifa2/JS/26267.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)