大家看看我这个showModalDialog内select的值怎么返回给opener的select?

lauries 2004-07-15 10:24:49
我在body.htm上打开selUser.htm,现在想把selUser内的select所有的值返回给body.htm内的select,请问返回和怎么接收的函数怎么写?

====================================================
body.htm - 接收值的函数怎么写?

<html><head></head>
<script language="JavaScript">
function openwin(srcFile,obj,winFeatures)
{
window.showModalDialog(srcFile, obj, winFeatures);
}
</script>

<body>
<form action="" method="get" name="myForm">
<select name="selUser" size="4" multiple style="width:400px"></select>
<input type=button value=" 添加 " onclick="window.openwin('selUser.htm',myForm,'status:no;scrollbars:yes;help:no;dialogleft:400px;dialogtop:300px;dialogwidth:600px;dialogheight:400px')">
</form>
</body></html>

====================================================
selUser.htm - 传递值的函数怎么写?

<html><head></head>
<script language="JavaScript">
function AddUser()
{
//opener.addSel();
window.close();
}
</script>

<body>
<form action="" method="get" name="myForm">
<select name="selUser" size="3" multiple style="width:400px">
<option value="1">aaa</option>
<option value="2">bbb</option>
<option value="3">ccc</option>
</select>
<input name="button" type=button onclick="AddUser()" value=" 确认 ">
</form>
</body></html>

...全文
293 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
waiber 2004-07-15
  • 打赏
  • 举报
回复
弹出页面:

//此函数用于获取选中的值

function Select()
{
var IntcboLg=document.form1.selNode.length
var strcboValue=''
var strcboText=''
for (var i=0;i<IntcboLg;i++ )
{
if (strcboValue=='')
{
strcboValue=strcboValue+document.form1.selNode.options(i).value
strcboText=strcboText+document.form1.selNode.options(i).text
}else
{
strcboValue=strcboValue+','+document.form1.cboNode.options(i).value
strcboText=strcboText+','+document.form1.cboNode.options(i).text
}
}
if (strcboValue!=''){
var Strreturn=strcboValue+'#'+strcboText
window.returnValue=Strreturn
window.close();
}
}



接收页面:

function SelMutNode(url)
{

var strNode=showModalDialog(url',0,"dialogWidth:418px;dialogHeight:326px;status:no");
if (strNode!=-1 && typeof(strNode)!='undefined')
{
var strNodeary=strNode.split("#")
var strNodeID=strNodeary[0]
var strNodeName=strNodeary[1]
document.form1.txtNode.value=strNodeID;
document.form1.txtNode.value=strNodeName;
}

}


思路就是这样,自己去改改。
lauries 2004-07-15
  • 打赏
  • 举报
回复
谢,有启发作用

但是,我想把新开窗口selUser.htm内select的所有值全部转移到body.htm内的select中,两个select的值是一样的

这个问题我花了两三天的时间了,实在不会,寄托希望于此了
gamegod 2004-07-15
  • 打赏
  • 举报
回复
如果是想把第二页的东西增加到第一个页面,你看看我给你的代码,不知道是不是符合你的要求:
第一页:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>

<body>



<p><select size="8" name="txt">

<option>1</option>

</select></p>

<input type="button" onclick="window.open('in.htm')" value="Open">


</body>

</html>

第二页:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>

<script>
function CloseOpen() {

var ll=document.all.tags("input");

for(i=0;i<ll.length;i++)
{
if(ll[i].type=="checkbox")
{
if(ll[i].checked==true)
{
opener.document.all.txt.length=opener.document.all.txt.length+1;
opener.document.all.txt.options[opener.document.all.txt.length-1].text="123";
opener.document.all.txt.options[opener.document.all.txt.length-1].value=i;
}

}

}
window.close();
}
</script>
<body onunload="">
<p><input type="checkbox" name="C1" value="1">11</p>
<p><input type="checkbox" name="C1" value="2">21</p>
<p><input type="checkbox" name="C1" value="3">31</p>
<p><input type="checkbox" name="C1" value="4">41</p>
<p><input type="checkbox" name="C1" value="5">51</p>
<p><input type="checkbox" name="C1" value="6">61</p>
<p><input type="checkbox" name="C1" value="7">71</p>
<p><input type="button" onclick="javascript:CloseOpen();" value="close"></p>
</body>

</html>
lauries 2004-07-15
  • 打赏
  • 举报
回复
谢谢,谢谢大家,包括UP的“同志”,稍微整理了一下,代码是下面的:

body.htm

<html>
<head>
</head>
<script language="JavaScript">
function SelMutNode(url)
{
var obj=document.form1 ;
var strNode=showModalDialog(url,obj,"dialogWidth:418px;dialogHeight:326px;status:no");

var ret_val = strNode;
alert(ret_val)
if (ret_val!=null)
{
var strNodeary=ret_val.split("#");
var strNodeID=strNodeary[0];
var strNodeName=strNodeary[1]
//循环写值1,2,3 aaa,bbb,ccc
alert(strNodeID + " " + strNodeName);
a=strNodeID.split(",")
b=strNodeName.split(",")
for(i=0;i<a.length;i++)
document.form1.txtNode.options[document.form1.txtNode.options.length] = new Option(b[i],a[i])
}

}


//-->
</script>

<body>
<form action="" method="get" name="form1">
<select name="txtNode" size="4" multiple style="width:400px"></select>
<input type=button value=" add " onclick="SelMutNode('selUser.htm')">
<input type="hidden" value="" name="retval">
</form>
</body>
</html>

selUser.htm

<html>
<head>
</head>
<script language="JavaScript">
function Select()
{
var f = window.dialogArguments;
var IntcboLg=document.form1.selNode.length;
var strcboValue='';
var strcboText='';
for (var i=0;i<IntcboLg;i++ )
{
if (strcboValue=='')
{
strcboValue=strcboValue+document.form1.selNode.options(i).value;
strcboText=strcboText+document.form1.selNode.options(i).text;
}else
{
strcboValue=strcboValue+','+document.form1.selNode.options(i).value;
strcboText=strcboText+','+document.form1.selNode.options(i).text;
}
}
if (strcboValue!=''){
var Strreturn=strcboValue+'#'+strcboText;
f.retval.value=Strreturn;
window.returnValue=Strreturn
window.close();
}
}

</script>

<body>
<form action="" method="get" name="form1">
<select name="selNode" size="3" multiple style="width:400px">
<option value="1">aaa</option>
<option value="2">bbb</option>
<option value="3">ccc</option>
</select>
<input name="button" type=button onclick="Select()" value="¡¡Confirm¡¡">
</form>
</body>
</html>

希望此贴可以帮助到所有有这个需要的人
孟子E章 2004-07-15
  • 打赏
  • 举报
回复
大概yisi


<html>
<head>
</head>
<script language="JavaScript">
function SelMutNode(url)
{
var obj=document.form1 ;
var strNode=showModalDialog(url,obj,"dialogWidth:418px;dialogHeight:326px;status:no");

var ret_val = strNode;
alert(ret_val)
if (ret_val!=null)
{
var strNodeary=ret_val.split("#");
var strNodeID=strNodeary[0];
var strNodeName=strNodeary[1]
//循环写值1,2,3 aaa,bbb,ccc
alert(strNodeID + " " + strNodeName);
a=strNodeID.split(",")
b=strNodeName.split(",")
for(i=0;i<a.length-1;i++)
document.form1.txtNode.options[document.form1.txtNode.options.length] = new Option(b[i],a[i])
}

}


//-->
</script>

<body>
<form action="" method="get" name="form1">
<select name="txtNode" size="4" multiple style="width:400px"></select>
<input type=button value=" add " onclick="SelMutNode('selUser.htm')">
<input type="hidden" value="" name="retval">
</form>
</body>
</html>
lauries 2004-07-15
  • 打赏
  • 举报
回复
再次修改了下,能够得到值了,但是我又写不进去body.htm的select中


===============================
body.htm //alert显示我已经把值取过来了

<html>
<head>
</head>
<script language="JavaScript">
function SelMutNode(url)
{
var obj=document.form1 ;
var strNode=showModalDialog(url,obj,"dialogWidth:418px;dialogHeight:326px;status:no");

var ret_val = obj.retval.value;
if (ret_val!=-1 && typeof(ret_val)!='undefined')
{
var strNodeary=ret_val.split("#");
var strNodeID=strNodeary[0];
var strNodeName=strNodeary[1]
//循环写值1,2,3 aaa,bbb,ccc
alert(strNodeID + " " + strNodeName);
document.form1.txtNode.value=strNodeID;
document.form1.txtNode.value=strNodeName;
}

}


//-->
</script>

<body>
<form action="" method="get" name="form1">
<select name="txtNode" size="4" multiple style="width:400px"></select>
<input type=button value=" add " onclick="SelMutNode('selUser.htm')">
<input type="hidden" value="" name="retval">
</form>
</body>
</html>

===========================================================================

selUser.htm

<html>
<head>
</head>
<script language="JavaScript">
function Select()
{
var f = window.dialogArguments;
var IntcboLg=document.form1.selNode.length;
var strcboValue='';
var strcboText='';
for (var i=0;i<IntcboLg;i++ )
{
if (strcboValue=='')
{
strcboValue=strcboValue+document.form1.selNode.options(i).value;
strcboText=strcboText+document.form1.selNode.options(i).text;
}else
{
strcboValue=strcboValue+','+document.form1.selNode.options(i).value;
strcboText=strcboText+','+document.form1.selNode.options(i).text;
}
}
if (strcboValue!=''){
var Strreturn=strcboValue+'#'+strcboText;
f.retval.value=Strreturn;
window.returnValue=Strreturn
window.close();
}
}

</script>

<body>
<form action="" method="get" name="form1">
<select name="selNode" size="3" multiple style="width:400px">
<option value="1">aaa</option>
<option value="2">bbb</option>
<option value="3">ccc</option>
</select>
<input name="button" type=button onclick="Select()" value="¡¡Confirm¡¡">
</form>
</body>
</html>

上面代码显示已经取到值了,但是没有写入body.htm的select中,????
lauries 2004-07-15
  • 打赏
  • 举报
回复
net_lover(孟子E章) 老师:

我根据您提供的修改了部分脚本,可以提示不支持此对象
lauries 2004-07-15
  • 打赏
  • 举报
回复
net_lover(孟子E章) 老师:

您帮我改改这个文件,我花了几天时间了,实在是不知道了,只好求助于大家了!
我还没有学好这些!
孟子E章 2004-07-15
  • 打赏
  • 举报
回复
http://dev.csdn.net/develop/article/15/15113.shtm
孟子E章 2004-07-15
  • 打赏
  • 举报
回复
var strNode=showModalDialog(url,window,"dialogWidth:418px;dialogHeight:326px;status:no");



window.dialogArguments.document.form1.sel1.options[window.dialogArguments.document.form1.sel1.length] = new Option("txt","value",true,true)
window.returnValue=Strreturn
lauries 2004-07-15
  • 打赏
  • 举报
回复
测试没有成功,代码改写为一下:

====================================================
body.htm

<html><head></head>
<script language="JavaScript">
function SelMutNode(url)
{

var strNode=showModalDialog(url,0,"dialogWidth:418px;dialogHeight:326px;status:no");
if (strNode!=-1 && typeof(strNode)!='undefined')
{
var strNodeary=strNode.split("#")
var strNodeID=strNodeary[0]
var strNodeName=strNodeary[1]
document.form1.selNode.value=strNodeID;
document.form1.selNode.text=strNodeName;
}

}

//-->
</script>

<body>
<form action="" method="get" name="form1">
<select name="selNode" size="4" style="width:400px"></select>
<input type=button value=" add " onclick="SelMutNode('selUser.htm')">
</form>
</body></html>


====================================================
selUser.htm

<html><head></head>
<script language="JavaScript">
function Select()
{
var IntcboLg=document.form1.selNode.length
var strcboValue=''
var strcboText=''
for (var i=0;i<IntcboLg;i++ )
{
if (strcboValue=='')
{
strcboValue=strcboValue+','+document.form1.selNode.options(i).value
strcboText=strcboText+','+document.form1.selNode.options(i).text
}else
{
strcboValue=strcboValue+','+document.form1.selNode.options(i).value
strcboText=strcboText+','+document.form1.selNode.options(i).text
}
}
if (strcboValue!=''){
var Strreturn=strcboValue+'#'+strcboText
window.returnValue=Strreturn
window.close();
}
}

</script>

<body>
<form action="" method="get" name="form1">
<select name="selNode" size="3" multiple style="width:400px">
<option value="1">aaa</option>
<option value="2">bbb</option>
<option value="3">ccc</option>
</select>
<input name="button" type=button onclick="Select()" value="¡¡Confirm¡¡">
</form>
</body></html>

========================================
可是我测试结果,总是不能传递值?????
lauries 2004-07-15
  • 打赏
  • 举报
回复
测试ing

从此发现不大会javascript就玩完
内容概要:本文研究了计及需求侧响应的日前、日内两阶段鲁棒备用优化方法,旨在应对高比例可再生能源接入背景下电力系统中存在的不确定性问题。通过构建两阶段鲁棒优化模型,将日前调度作为第一阶段决策,日内调整作为第二阶段修正,充分考虑风电、光伏等出力波动以及负荷变化带来的影响。模型引入需求侧响应机制,利用可调节负荷参与系统备用,提升系统的灵活性与鲁棒性。采用列与约束生成(C&CG)算法对两阶段鲁棒优化问题进行求解,并通过Matlab编程实现,结合标准测试系统进行仿真分析,验证了所提方法在降低运行成本、提高可再生能源消纳能力和增强系统可靠性方面的有效性。; 适合人群:具备电力系统优化、运筹学及Matlab编程基础的研究生、科研人员及从事能源系统规划与运行的专业技术人员。; 使用场景及目标:①应用于含高比例可再生能源的电力系统调度决策,提升调度方案的鲁棒性;②为需求侧资源参与电力系统备用提供建模与求解工具;③支撑科研教学中关于两阶段鲁棒优化、C&CG算法实现的学习与实践。; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解流程,重点关注不确定性集合的刻画方式、需求侧响应的建模方法以及C&CG算法的迭代逻辑,宜配合相关优化理论资料进行系统学习。
内容概要:本文围绕掺铒光纤放大器(EDFA)的分析模型展开深入的模拟研究,重点在于利用Matlab代码实现EDFA工作过程的数值仿真,涵盖其增益特性、噪声系数以及在不同泵浦功率和波长条件下的性能表现。研究通过建立基于速率方程和传输方程的物理模型,精确描述铒离子的能级跃迁、自发辐射、受激辐射及吸收等核心物理机制,进而构建可用于光通信系统级仿真的EDFA模块。该模型不仅能够准确预测单级EDFA的输出光谱和增益平坦度,还支持对多级放大链路的级联效应进行分析与优化,具备良好的实用性、灵活性和可扩展性,为光通信系统的设计与性能评估提供了可靠的理论依据和工具支持。; 适合人群:具备一定光学通信基础知识和Matlab编程能力的研究生或科研人员,尤其适用于从事光纤通信系统仿真、光器件建模与性能优化等相关领域的工程技术人员。; 使用场景及目标:①用于高校及科研机构中关于光放大器原理的教学演示与科研分析;②支撑长距离、大容量光纤传输系统中多级EDFA链路的性能预测、噪声累积分析与优化设计;③作为典型有源光器件建模的学习案例,帮助理解复杂光电器件的数值仿真方法与物理机制。; 阅读建议:建议读者结合光通信相关理论知识,仔细研读模型的数学推导过程,并动手运行与调试所提供的Matlab代码,深入探究泵浦方式、光纤长度、掺杂浓度等关键参数对EDFA性能的影响规律,进一步可尝试将该模型集成至更大规模的光网络仿真平台中进行联合系统分析。

28,402

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧