大家看看我这个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>

...全文
275 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就玩完
内容概要:本文系统研究了基于动态三维环境下的Q-Learning算法在无人机自主避障路径规划中的应用,依托Matlab代码实现,深入剖析了强化学习在复杂、时变空间中实现智能决策的机制。研究构建了三维网格化状态空间模型,设计了合理的动作集合与奖励函数,充分考虑静态与动态障碍物的存在,使无人机能够通过与环境持续交互,自主学习规避障碍并趋近目标的最优策略。文章不仅展示了Q-Learning算法在路径规划中的具体实现流程,还涵盖了状态表示、策略迭代、收敛性分析等关键环节,并通过仿真实验验证了算法的有效性与鲁棒性,为智能体在动态环境中的自主导航提供了理论依据和技术参考。; 适合人群:具备人工智能、自动化、计算机科学或机器人学等相关专业背景,熟悉Matlab编程语言和基本的强化学习概念,从事无人机控制、智能导航、路径规划算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于城市峡谷、灾害现场等复杂动态三维场景中无人机的自主飞行与紧急避障;②作为强化学习解决实际路径规划问题的教学实例,帮助理解Q-Learning的核心思想、状态-动作函数更新过程及探索-利用权衡策略;③为后续研究更先进的深度强化学习算法(如DQN、PPO)在无人机控制中的应用奠定基础和提供对比基准。; 阅读建议:建议读者结合所提供的Matlab代码进行动手实践,通过调整学习率、折扣因子、探索率(ε-greedy)等超参数,观察其对算法收敛速度和最终路径规划质量的影响,并尝试修改环境复杂度(如增加障碍物密度或动态性)以评估算法的泛化能力。
内容概要:本文系统研究了三相逆变器逆变电路的闭环控制模型,基于Simulink平台构建完整的仿真系统,深入探讨闭环控制策略对逆变器输出电压、电流波形质量的调控作用。研究内容涵盖三相逆变器的基本工作原理、空间矢量脉宽调制(SVPWM)技术、电压外环与电流内环构成的双闭环控制架构设计、PI控制器参数整定方法,并通过仿真实验全面评估系统在阻性、感性及非线性负载条件下的动态响应特性、稳态精度以及抗负载扰动能力,从而验证闭环控制策略的有效性与鲁棒性。同时,文档关联了多项电力电子与新能源并网相关的仿真案例,凸显其在光伏发电、微电网并网、储能系统等实际工程应用中的重要价; 适合人群:具备电力电子技术、自动控制理论基础知识,熟悉Simulink/MATLAB仿真环境,从事电气工程、新能源发电、智能电网等方向的科研人员、工程技术人员及研究生; 使用场景及目标:①掌握三相逆变器双闭环控制系统建模与仿真的完整流程;②深入理解电压电流双闭环控制的设计原理及其在提升电能质量方面的实现机制;③为光伏并网逆变器、储能变流器(PCS)、微网能量管理系统等实际项目的控制算法开发与性能验证提供理论依据和技术参考; 阅读建议:建议结合文中提及的Simulink仿真模型进行实操演练,重点关注控制器参数调节对系统稳定性与动态性能的影响规律,并进一步拓展学习如重复控制、PR控制、模型预测控制(MPC)等先进控制策略在逆变器中的应用与对比分析。
内容概要:本文围绕单相逆变器闭环逆变电路的PWM模型展开仿真研究,基于Simulink平台构建系统模型,重点探究闭环控制策略下脉宽调制(PWM)技术在单相逆变器中的应用。研究内容涵盖系统建模、控制器设计、反馈回路构建及PWM信号生成等关键环节,通过仿真分析逆变电路在闭环控制下的动态响应特性、输出波形质量与系统稳定性,旨在提升逆变器的输出精度、抗干扰能力与整体性能,为电力电子系统的设计与优化提供理论支撑与仿真验证依据。; 适合人群:具备电力电子、自动控制理论基础,熟悉Simulink仿真环境,从事电气工程、新能源发电、电源系统开发等相关领域的科研人员及高校研究生。; 使用场景及目标:①应用于单相逆变电源、光伏并网系统、不间断电源(UPS)等电力变换设备的控制器设计与性能优化;②通过仿真掌握闭环控制与PWM调制技术的实现机制,深入理解PI控制器参数整定、反馈采样方式选择及系统稳定性调节方法,进而提升实际工程系统的动态响应与稳态控制精度。; 阅读建议:建议读者结合Simulink动手搭建模型,逐步调试控制器参数,重点关注闭环反馈结构、PI调节器设计与PWM调制模块的实现逻辑,同时可通过对比开环与闭环系统的输出波形,深入理解闭环控制对系统性能的提升作用,从而深化对逆变器控制原理的掌握。

28,403

社区成员

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

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