object.showModalDialog(sURL[,vArguments[,sFeatures]])
sURL: url地址了
vArguments:可以传递参数
sFeatures:
dialogWidth:number
dialogHeight:number
dialogTop:number
dialogLeft:number
center:{yes|no|1|0}
sURL: url地址了
vArguments:可以传递参数
sFeatures:
dialogWidth:number
dialogHeight:number
dialogTop:number
dialogLeft:number
center:{yes|no|1|0}
vArguments:传入参数.可以是数组
sFeatures:窗口样式
其中,用showModalDialog产生了窗口后,焦点无法移回主窗口.
用产生了窗口后,焦点可以移回主窗口,可是弹出的对话框却一直保持在主窗口之上.两者的用法完全相同.使用showModalDialog和还可以从弹出的窗口返回数值给主窗口.
以下例说明:
主页面:main.html<html>
<head></head>
<body>
</html> <SCRIPT LANGUAGE="JavaScript">
<!--
function show_dialog(){
var dialogArgs = new Array(); //定义参数数组
var the_url = "";
var the_winstate=""; dialogArgs[0]=form1.in_s1.value; //第一个参数值
dialogArgs[1]=form1.in_s2.value; //第二个参数值
the_url="sm_showdialog.html"; //定义dialog窗的页面URL
the_winstate="dialogWidth:270px;dialogHeight:140px;status:'no'"; //定义页面的大小风格
var result = showModalDialog(the_url,dialogArgs,the_winstate); //显示dialog窗,result变量为此窗返回值数组
if (result.type != "") { //返回值是否为空
form1.in_jg.value=eval(form1.in_s1.value+result.type+form1.in_s2.value);
}
}//-->
</SCRIPT>
<FORM name="form1" METHOD=POST ACTION="">
第一个数<INPUT TYPE="text" NAME="in_s1"><br>
第二个数<INPUT TYPE="text" NAME="in_s2"><p>
<button onclick="show_dialog()">操作</button><p>
结果:
<INPUT TYPE="text" NAME="in_jg" readonly></FORM>
</body>
</html>DIALOG页面:sm_showdialog.html<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
returnValue = Array(); //定义返回值数组
returnValue.type = ""; //定义返回值数组元素变量function ret(src){
returnValue.type = src; //赋返回值
window.close(); //关窗口
}//-->
</SCRIPT>
</HEAD>
<BODY>
第一个数为:<INPUT id="a1" TYPE="text" NAME=""><br>
第二个数为:<INPUT id="a2" TYPE="text" NAME=""><br>
<SCRIPT LANGUAGE="JavaScript">
<!--
a1.value=window.dialogArguments[0]; //取出传入参数1
a2.value=window.dialogArguments[1]; //取出传入参数2
//-->
</SCRIPT>
<button onclick="ret('+')">加</button>
<button onclick="ret('-')">减</button>
<button onclick="ret('*')">乘</button>
</BODY>
</HTML>