一、window.showModalDialog擷取彈出頁面傳回值的2種方法
----main.html---------首頁面
<form name="form1"><br /><input type="text" name="fag1"><br /><input type="text" name="fag2"><br /></form></p><p>function shw(){<br />var url="open.html";<br />//----------方法一--start-------<br />var obj=document.form1; //指定頁面對象<br />var returnValue=window.showModalDialog(url ,obj,'dialogHeight:550px;dialogWidth:500px;center:yes'); //方法傳回值<br />//----------方法一--end-------<br />alert(returnValue);<br />}
----open.html---------彈出頁面
<input type="text" name="SNO"><br /><input type="text" name="TNO"><br /><input type="button" value="ok" onclick="retrunValue()"></p><p>function retrunValue(){<br /> var TNO=document.all.TNO.value;<br /> var SNO=document.all.SNO.value;</p><p>//----------方法二--start-------<br /> var obj = window.dialogArguments; //父頁面對象<br /> obj.elements["fag1"].value = SNO; //給父頁面對象賦值<br /> obj.elements["fag2"].value = TNO;<br />//----------方法二--end-------</p><p>//----------方法一--start-------<br /> window.returnValue=SNO+","+TNO; //方法傳回值<br />//----------方法一--end-------<br /> window.close();<br />}
二、window.open擷取傳回值方法
----main.html---------首頁面
<script type="text/javascript"><br />//快顯視窗<br />function openwin(url,width,height){<br /> var l=window.screen.width ;<br /> var w= window.screen.height;<br /> var al=(l-width)/2;<br /> var aw=(w-height)/2;<br /> var OpenWindow=window.open(url,"快顯視窗","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width="+width+",height="+height+",top="+aw+",left="+al+"");<br />OpenWindow.focus();<br />if(OpenWindow!=null){ //快顯視窗關閉事件<br />//if(window.attachEvent) OpenWindow.attachEvent("onbeforeunload", quickOut);<br />if(window.attachEvent) OpenWindow.attachEvent("onunload", quickOut);<br />}<br />}<br />//關閉觸發方法<br />function quickOut()<br />{<br />alert("視窗已關閉");<br />}<br /></script><br /><input type="button" value="ok" onclick="openwin('open.html','600','500')"><br /><input type="text" name="txt0" id="txt0"> 注意:firefox這裡一定要寫ID屬性,不然取不到值
----open.html---------彈出頁面
<script type="text/javascript"><!--<br />function foo()<br />{<br /> window.close();<br /> window.opener.document.getElementById("txt0").value=document.getElementById("txt").value<br />}<br /><script><br /><input type=text name="txt" id="txt"><br /><input type=button value="關閉" onclick="foo();">
三、window.open 彈出新視窗的頁面參數設定
'open.html' 快顯視窗的檔案名稱,無指定值,則about:blank的新視窗會被顯示;
'newwindow' 快顯視窗的名字(不是檔案名稱),非必須,可用空''代替;
height=100 視窗高度;
width=400 視窗寬度;
top=0 視窗距離螢幕上方的象素值;
left=0 視窗距離螢幕左側的象素值;
toolbar=no 是否顯示工具列,yes為顯示;
menubar,scrollbars 表示功能表列和滾動欄。
resizable=no 是否允許改變視窗大小,yes為允許;
location=no 是否顯示地址欄,yes為允許;
status=no 是否顯示狀態列內的資訊(通常是檔案已經開啟),yes為允許;
詳細例子:
<html><br /><head><br /><SCRIPT LANGUAGE="JavaScript"><br />//彈出置中視窗<br />function openwin(url,width,height){<br /> var l=window.screen.width ;<br /> var w= window.screen.height;<br /> var al=(l-width)/2;<br /> var aw=(w-height)/2;<br /> var OpenWindow=window.open(url,"快顯視窗","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width="+width+",height="+height+",top="+aw+",left="+al+"");<br />//OpenWindow.document.write("<TITLE>例子</TITLE>" );<br /> //OpenWindow.document.write("<BODY BGCOLOR=#ffffff>" );<br /> //OpenWindow.document.write("<h1>Hello!</h1>" );<br /> //OpenWindow.document.write("New window opened!" );<br /> //OpenWindow.document.write("</BODY>" );<br /> //OpenWindow.document.write("</HTML>" );<br />OpenWindow.document.close();<br />OpenWindow.focus();<br />}<br /></head><br /><body><br /><a href="#" mce_href="#" onclick="openwin('','600','500')">開啟一個視窗</a><br /><input type="button" onclick="openwin('','600','500')" value="開啟視窗"><br /></body><br /></html>