Js弹出框返回值的两种常⽤⽅法
1.window.showModalDialog(url,args,dialogattrs)
参数说明:
url:弹出页⾯地址
弹出窗口代码编写agrs:主窗⼝传给对话框的参数,可以是任意类型(数组也可以)
dialogattrs:弹出窗⼝的样式参数
模式对话框⽤法:
主窗⼝:var value =window.showModalDialog('test.jsp',strs,'resizable:yes');
弹出框中通过urnValue来设置返回值,上⾯的value拿到的就是这个值,然后主窗⼝中可以对
这个值进⾏处理,实现交互处理
注:模式对话框的应⽤就在于它的返回值,可以返回简单字符窜,也可以返回数组,⾮模式对话框类似
参数说明:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
sURL--必选参数,类型:字符串。⽤来指定对话框要显⽰的⽂档的URL。
vArguments--可选参数,类型:变体。⽤来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
sFeatures--可选参数,类型:字符串。⽤来描述对话框的外观等信息,可以使⽤以下的⼀个或⼏个,⽤分号“;”隔开。
1.dialogHeight :对话框⾼度,不⼩于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,⽽IE5中是px,为⽅便其见,在定义modal⽅式的对话框时,⽤px做单位。
2.dialogWidth: 对话框宽度。
3.dialogLeft: 离屏幕左的距离。
4.dialogTop: 离屏幕上的距离。
<: {yes | no | 1 | 0 }:窗⼝是否居中,默认yes,但仍可以指定⾼度和宽度。
6.help: {yes | no | 1 | 0 }:是否显⽰帮助按钮,默认yes。
8.status: {yes | no | 1 | 0 } [IE5+]:是否显⽰状态栏。默认为yes[ Modeless]或no[Modal]。
9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显⽰滚动条。默认为yes。
下⾯⼏个属性是⽤在HTA中的,在⼀般的⽹页中⼀般不使⽤。
10.dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。
11.edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。
12.unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。
参数传递:
要想对话框传递参数,是通过vArguments来进⾏传递的。类型不限制,对于字符串类型,最⼤为4096个字符。也可以传递对象
实例:
⽗窗⼝关键代码:
<script language="javascript">
function onObjMore() {
var feature = "dialogWidth:"+400+"px;dialogHeight:"+400+"px;scroll:yes;status:no;help:no;center:1";
var returnTarget = window.showModalDialog("alert.html", "", feature);
if(returnTarget != undefined && returnTarget.length > 1) {
$("#lb").text(returnTarget);
}
return false;
}
</script>
<body>
<p>
<input type="button" name="leftbtn" id="leftbtn" value="上按钮" onclick="onObjMore();" />
</p>
<p>
<label id="lb">测试</label>
</p>
</body>
⼦窗⼝返回值,也可以再弹出⼦窗⼝:
<script language="javascript">
function exit() {
window.close();
}
</script>
<body>
<input type="button" id="test" title="测试" onclick="exit();" value="关闭" />
<input type="button" id="test" title="测试" onclick="onObjMore();" value="弹出" />
</body>
2。window.open:
【⽗窗⼝】
<script>
function show_child()
{
var child=window .open("child.html","child","height=200,width=400,status=yes,toolbar=no,menubar=no,location=no"); /* if(!child.closed)
{
if(!window .close())
{
var  textValue  =  value;  0.value  =  textValue;
}
else
{
window .close();
child.close();
}
}*/
}
</script>
<a href="javascript:show_child();">打开⼦窗⼝</a>
<form name=frm0>
<input type="text" name="txt0" id="txt0"> //注意这⾥⼀定要写ID属性不然FF下取不到值
</form>
【⼦窗⼝】
<script>
function choseItem()
{
var v="";
var check_item = document.frm.item;
for(i=0;i<check_item.length;i++)
{
if(check_item[i].checked)
{
v+=","+check_item[i].value;
}
place(/^,{1}/,"");
}
}
function foo()
{
window .close();
window .ElementById("txt0").ElementById("txt").value
}
</script>
<body>
<form name=frm>
<input type=checkbox name=item value=1 onclick="choseItem();">a
<input type=checkbox name=item value=2 onclick="choseItem();">b
<input type=checkbox name=item value=3 onclick="choseItem();">c <input type=checkbox name=item value=4 onclick="choseItem();">d <input type=text name="txt" id="txt">
</form>
<input type=button value="关闭" onclick="foo();">
</body>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。