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


phpStudy精简使用版本,一般情况好多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)来执行赋值操作.



相关阅读:
由一段批处理程序所引起的探讨感觉问题是有,不太准确
针对firefox ie6 ie7 ie8的css样式hack
Oracle专用服务器的内存结构分布原则
总结Windows7系统亟待解决的10大问题
CSS实现绝对的完美圆角框
利用php的ob_start来生成静态页面的方法
asp.net 计划任务管理程序实现,多线程任务加载
jQuery 性能优化指南(2)
Windows7音频服务未运行的原因以及解决办法
如何使用Wordpress来撰写你的博客
JS代码的格式化和压缩
保障Winnt +asp +sql web站点的安全经验。(二)
快速定位到复杂的CSS BUG问题
IE中checkbox在刷新后初始化的问题
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 你走了,我不会忘了你 娶媳妇的梦想(上) 小学四年级作文400字:喜羊羊与灰太狼之——魔法大战(3) 600字的亲情作文 周庄,我来了 家庭助廉心得体会征文-同心齐努力 当好后勤兵 捉虫记350字 小游戏作文300字 树枝上的情结 记忆童年 大三班长个人工作总结 含风的泪 领导干部工作不够大胆的调查与思考 从此,我不再轻言放弃 题官舍 鹰的蜕变 鹰的启迪 新年祝福语2015英语版 关于这就是我作文350字 沁园春 浮世 《天使的翅膀》读后感作文650字 遥望天上的星星 原创歌词;如果爱是一种罪 2016年后勤党总支物管中心支部工作总结 我只是这样的女生 课改点滴:一堂化学探究教学课案例的反思 多想玩电脑作文700字 职场人为何这么累? 小学六年级作文550字:其实死也不是坏事 最新治安支队半年工作总结 慢下来,静观自己的内心 我为创卫出力 县委办公室副主任述职报告 超市员工个人工作总结 寒夜守候,只为唯一的你 冬天真好玩作文700字 手工制作----玩橡泥皮 伤心的雨作文200字 班主任工作要关注细节 老师,我心里的一盏明灯 白马涧冰雪节作文600字 新一年的新愿望作文600字 不算快乐 作文 感恩外婆 难忘的回忆作文800字 灯节中的大连 中学入团申请书600字范例 让我的思念与祝福 守护着你的睡眠 天使的声音(二)作文700字 初中初一作文750字:历经“波折”的验血 妈妈教我做家务

Copyright © 2016 phpStudy |