对于网页实现模式对话框的几点认识:
在B/S模式的应用项目,我们有可能要处理一些(类似于Winform中的模式对话框)的模式对话框。
在Javascript中的主要是用得了window.showmodeldialog方法
关于Window.dialogarguments参数主要是用来相当C#中的(out)回传,也就是说,一个页面发起一个模式对话框页面,该模式页面利用Window.dialogarguments将该页面中的对像或其它的值传回给发起页面中桥梁作用。
例如:
A.htm
<script language="javascript">
function openstr()
{
ReturnValue=window.showModalDialog("b.htm",window,"dialogWidth=510px;dialogHeight=150px;status=no");
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<input name="edit" id="edit" width="50" type="text">
<label>
<select name="txtselect" id="txtselect">
</select>
</label>
<label>
<input type="button" name="Submit" value="按钮" οnclick="openstr()" />
</label>
</form>
</body>
</html>
B.htm
<script language="javascript">
function ClickOk()
{
var parwin = window.dialogArguments;
var t=document.Edit;
var url=t.url.value;
if(url==null||url=="http://") return(false);
oOption = parwin.document.createElement('OPTION');
parwin.document.getElementById("edit").value=url;
oOption.text=url;
oOption.value=url;
parwin.document.all.txtselect.add(oOption);
window.close();
}
</script>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="2" align="center" width="500">
<form name="Edit" id="Edit">
<tr>
<td width="30" align="right" height="30">URL:</td>
<td height="30"><input type="text" name="url" value="http://" /></td>
<td width="56" align="center" height="30"><input " type="button" name="bntOk" value="确认" οnclick="ClickOk();" /> </td>
</tr>
</form>
</table>
</body>
</html>