Posted in Javascript onMay 31, 2010
三水点靠木精简使用版本,一般情况好多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 子窗体父窗体相互传值方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@