window.showmoduledialog怎么同时传递和返回多个值班?
我的代码如下,就只返回了一个值,我想同时传出多个文本框的值再又从弹出页面去多个值后返回到多个文本框面怎么做?
<script language= "javascript ">
function openmodebegin()
{
if (Form1.txtMaterial.value == " ")
window.alert( "请选择货品名称 ");
else
var returnvalue = window.showModalDialog( "interim.aspx ",Form1.txtMaterial.value, "dialogHeight:500px;dialogWidth:700px ", "scroll:no ");
//var returnvalue = window.showModalDialog( "interim.aspx ", "abcde ", "dialogHeight:880px;dialogWidth:700px ", "scroll:no ");
Form1.txtswno.value=returnvalue;
}
------解决方案--------------------用 '; '或者 '+ '之类把这些值隔开,
组成一个字符串,
然后再用Split函数分开
------解决方案--------------------http://dev.csdn.net/article/27/27760.shtm
你可以看下这篇文章
------解决方案--------------------showModalDialog和showModelessDialog数据传递技巧。
(作者语:本来想用一问一答形式来写的,但是我想不出这个怎么问,所以只好这样了。)
这个东西比较麻烦,我改了好几次了不是没办法说明白(语文水平越来越差了),只好用个例子说明了。
例子:
现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name
一般的传递方式:
window.showModalDialog( "filename.htm ",var_name)
//传递var_name变量
在showModalDialog(或showModelessDialog)读取和设置时:
alert(window.dialogArguments)//读取var_name变量
window.dialogArguments= "oyiboy "//设置var_name变量
这种方式是可以满足的,但是当你想在操作var_name同时再操作第二个变理var_id时呢?就无法再进行操作了。这就是这种传递方式的局限性。
以下是我建议使用的传递方式:
window.showModalDialog( "filename.htm ",window)
//不管要操作什么变量,只直传递主窗口的window对象
在showModalDialog(或showModelessDialog)读取和设置时:
alert(window.dialogArguments.var_name)//读取var_name变量
window.dialogArguments.var_name= "oyiboy "//设置var_name变量
同时我也可以操作var_id变量
alert(window.dialogArguments.var_id)//读取var_id变量
window.dialogArguments.var_id= "001 "//设置var_id变量
同样还可以对主窗口的任何对象进行操作,如form对象里的元素。
window.dialogArguments.form1.index1
------解决方案--------------------传递或返回object类型