window.showModalDialog和window.open
前言: 以前还真没见识过window.showModalDialog,这几天帮朋友看一个老项目,在点击选择选项,没发出现弹出框,再看浏览器报错"showModalDialog is not defined",喔豁现在浏览器不支持了,window.open这个方法还比较常见,但平时也没通过这传值,单纯的跳转懂到新页面,那开始学习啦...
用法: 方法是创建一个显示HTML内容的模态对话框
使用方式:
1.window.showModalDialog(pageUrl,name,parameters) //参数分别指:跳转页面路径(必选);窗口句柄(可选);窗口参数(可选--用分号;分割)
传值方式:
父页面: var value = window.showModalDialog(pageUrl,"","dialogWidth:350px; dialogHeight:400px; dialogLeft: status:no; directories:yes;scrollbars:yes;Resizable=no;");
子页面: 设置内部函数 window.returnValue = newValue;
父级页面就直接得到子页面传过来的值.(哈哈...现在不支持了.....就看window.open解决方式咯)
2.window.open(pageUrl,name,parameters) //参数分别指:跳转页面路径(必选);窗口句柄(可选);窗口参数(可选--用分号;分割)
不传值: window.open(pageUrl)直接跳转
传值方式:
父页面:
html:
<form name="formAdd">
<input name="org_id"/>
</form>
处理:
var child = window.open(strUrl, "window", "width=" + iWidth + ", height=" + iHeight + ",top=" + iTop + ",left=" + iLeft + ",toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no,alwaysRaised=yes,depended=yes");
if(!child.closed){
if(!window.close()){
var textValue = formchild.txt.value;
parent.formAdd.org_id.value = textValue;
}
}else{
window.close();
child.close();
}
}
子页面:
html:
<form name="formchild">
<input name="txt"/>
</form>
处理:
window.opener.document.getElementById("org_id").value = org_id1;