>> 參考網站
對話盒
▲ 一般對話盒
alert("請輸入序號!"); //提示對話盒
if (confirm("確定要刪除?")) {formObj.submit();} //確認對話盒
if (!confirm("確定離線?")) {return;} //確認對話盒
var str=prompt("請輸入年齡","20"); //輸入對話盒: 第二個參數為預設值, 傳回值為一字串
▲ 強制回應對話盒 Modal的用法 (必須關閉該視窗,才能返回原瀏覽器)
function call_modal() {
var option=“dialogWidth:440px;dialogHeight:390px;status:off;help:off”; //選項字串(對話窗參數)
var arg=new Array(); //儲存傳入/傳回參數之陣列(作為原呼叫瀏覽器與對話框之介面)
arg[0]=“select_element”; //arg[0]設定為傳入參數 caller (用來辨別呼叫者, modal.htm可多用途)
arg[1]=“”; //arg[1]設定為傳回參數 code
arg[2]=“”; //arg[2]設定為傳回參數 action
var modalwin=window.showModalDialog("modal.htm",arg,option); //開啟強制回應對話盒
if (arg[1]==“”) {return;} //設計為無傳回值就返回
}
*** 注意:陣列是用來傳遞多個參數用, 如果只有一個參數要傳過去, 用單一變數傳遞即可
▲ 強制回應對話盒modal.htm之傳回函數
<SCRIPT LANGUAGE="JavaScript">
var arg=window.dialogArguments; //取得父視窗傳來之引數陣列
switch (arg[0]) { //依據caller參數來處理
case 'select_element': {… modal_finished(code,action)}
case 'add_element': {…modal_finished(code,action)}
}
function modal_finished(code,action) {
arg[1]=code; //設定傳回參數1的值
arg[2]=action; //設定傳回參數2的值
window.close(); //關閉Modal對話盒
}
</SCRIPT>
▲ Modal 對話盒的選項參數 (不必全部設定, 需要才設)
dialogWidth :對話盒寬度 dialogHeight : 對話盒高度(至少100px) dialogLeft : 離螢幕左邊距離
dialogRight : 離螢幕右邊距離 dialogTop : 離螢幕上面距離 dialogBottom : 離螢幕下面距離
center :是否置中 (yes/no/0/1/on/off) scroll :是否顯示捲軸 (yes/no/0/1/on/off) status :是否顯示狀態欄 (yes/no/0/1/on/off) resizable : 是否可改變大小 (yes/no/0/1/on/off) help : 是否顯示說明按鈕 (yes/no/0/1/on/off) 預設值除status(強制), resizable為no外,其他均為yes
*另有HTA專用參數三個 : 值 (yes/no/0/1/on/off)
dialogHide:列印/預覽列印時是否隱藏對話盒(no) edge:對話盒邊框樣式 (sunken/raised)
unadonorned : (no)
▲ 非強制回應對話盒的用法 (不須關閉該視窗,就能返回原瀏覽器)
var modalwin=window.showModalessDialog("modal.htm",arg,option); //開啟非強制回應對話盒
用法與強制回應對話盒一樣
▲ 傳遞參數的第二種方法 : 利用 Object 物件
function call_modal() {
var option=“dialogWidth:440px;dialogHeight:390px;status:off;help:off”; //選項字串(對話窗參數)
var obj=new Object(); //產生一物件(作為原呼叫瀏覽器與對話框之介面)
obj.caller=“select_element”; //設定屬性caller為傳入參數(用來辨別呼叫者-modal.htm多用途)
obj.code=“”; //設定屬性code為傳回參數 code
obj.action=“”; //設定屬性action為為傳回參數
var modalwin=window.showModalDialog("modal.htm",obj,option); //開啟強制回應對話盒
if (obj.code==“”) {return;} //設計為無傳回值就返回
}
* modal.htm 內參考以陣列傳遞法相對應做如下改變 :
var obj=window.dialogArguments;
obj.code=code; obj.action=action;
*** 注意 : 如果傳遞的參數含有特殊碼, 例如是HTML碼或含有CRLF之文本, 則傳遞前先用 escape() 函數轉換為Latin-1編碼, 到了modal.htm 內再用 \unescape() 轉回來, 以免傳遞不全.
var modalwin=window.showModalessDialog("modal.htm",escape(arg),option); //呼叫端
var arg=unescape(window.dialogArguments); //
alert("請輸入序號!"); //提示對話盒
if (confirm("確定要刪除?")) {formObj.submit();} //確認對話盒
if (!confirm("確定離線?")) {return;} //確認對話盒
var str=prompt("請輸入年齡","20"); //輸入對話盒: 第二個參數為預設值, 傳回值為一字串
▲ 強制回應對話盒 Modal的用法 (必須關閉該視窗,才能返回原瀏覽器)
function call_modal() {
var option=“dialogWidth:440px;dialogHeight:390px;status:off;help:off”; //選項字串(對話窗參數)
var arg=new Array(); //儲存傳入/傳回參數之陣列(作為原呼叫瀏覽器與對話框之介面)
arg[0]=“select_element”; //arg[0]設定為傳入參數 caller (用來辨別呼叫者, modal.htm可多用途)
arg[1]=“”; //arg[1]設定為傳回參數 code
arg[2]=“”; //arg[2]設定為傳回參數 action
var modalwin=window.showModalDialog("modal.htm",arg,option); //開啟強制回應對話盒
if (arg[1]==“”) {return;} //設計為無傳回值就返回
}
*** 注意:陣列是用來傳遞多個參數用, 如果只有一個參數要傳過去, 用單一變數傳遞即可
▲ 強制回應對話盒modal.htm之傳回函數
<SCRIPT LANGUAGE="JavaScript">
var arg=window.dialogArguments; //取得父視窗傳來之引數陣列
switch (arg[0]) { //依據caller參數來處理
case 'select_element': {… modal_finished(code,action)}
case 'add_element': {…modal_finished(code,action)}
}
function modal_finished(code,action) {
arg[1]=code; //設定傳回參數1的值
arg[2]=action; //設定傳回參數2的值
window.close(); //關閉Modal對話盒
}
</SCRIPT>
▲ Modal 對話盒的選項參數 (不必全部設定, 需要才設)
dialogWidth :對話盒寬度 dialogHeight : 對話盒高度(至少100px) dialogLeft : 離螢幕左邊距離
dialogRight : 離螢幕右邊距離 dialogTop : 離螢幕上面距離 dialogBottom : 離螢幕下面距離
center :是否置中 (yes/no/0/1/on/off) scroll :是否顯示捲軸 (yes/no/0/1/on/off) status :是否顯示狀態欄 (yes/no/0/1/on/off) resizable : 是否可改變大小 (yes/no/0/1/on/off) help : 是否顯示說明按鈕 (yes/no/0/1/on/off) 預設值除status(強制), resizable為no外,其他均為yes
*另有HTA專用參數三個 : 值 (yes/no/0/1/on/off)
dialogHide:列印/預覽列印時是否隱藏對話盒(no) edge:對話盒邊框樣式 (sunken/raised)
unadonorned : (no)
▲ 非強制回應對話盒的用法 (不須關閉該視窗,就能返回原瀏覽器)
var modalwin=window.showModalessDialog("modal.htm",arg,option); //開啟非強制回應對話盒
用法與強制回應對話盒一樣
▲ 傳遞參數的第二種方法 : 利用 Object 物件
function call_modal() {
var option=“dialogWidth:440px;dialogHeight:390px;status:off;help:off”; //選項字串(對話窗參數)
var obj=new Object(); //產生一物件(作為原呼叫瀏覽器與對話框之介面)
obj.caller=“select_element”; //設定屬性caller為傳入參數(用來辨別呼叫者-modal.htm多用途)
obj.code=“”; //設定屬性code為傳回參數 code
obj.action=“”; //設定屬性action為為傳回參數
var modalwin=window.showModalDialog("modal.htm",obj,option); //開啟強制回應對話盒
if (obj.code==“”) {return;} //設計為無傳回值就返回
}
* modal.htm 內參考以陣列傳遞法相對應做如下改變 :
var obj=window.dialogArguments;
obj.code=code; obj.action=action;
*** 注意 : 如果傳遞的參數含有特殊碼, 例如是HTML碼或含有CRLF之文本, 則傳遞前先用 escape() 函數轉換為Latin-1編碼, 到了modal.htm 內再用 \unescape() 轉回來, 以免傳遞不全.
var modalwin=window.showModalessDialog("modal.htm",escape(arg),option); //呼叫端
var arg=unescape(window.dialogArguments); //
沒有留言 :
張貼留言