道非道 非常道

          勤思、謹言、慎行、厚積、薄發

          導航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          公告

          在非洲,
          瞪羚每天早上醒來時,
          他知道自己必須跑的比最快的獅子還快,
          否則就會被吃掉。
          獅子每天早上醒來時,
          他知道自己必須追上跑的最慢的瞪羚,
          否則就會被餓死。
          不管你是獅子還是瞪羚,
          當太陽升起時,你最好開始奔跑。

          ----摘自<世界是平的>-托馬斯.弗里德曼



          隨筆分類(92)

          文章分類(58)

          收藏夾(11)

          隨筆檔案(106)

          文章檔案(66)

          統計

          web

          天圓

          經濟 政治 軍事

          鍵康

          window 的 dialogarguments 和 showmodeldialog


               在B/S模式的應用項目,我們有可能要處理一些的模式對話框。

               在Javascript中的主要是用得了window.showmodeldialog方法

               關于Window.dialogarguments 參數主要是用來一個頁面發起一個模式對話框頁面,該模式頁面利用Window.dialogarguments將該頁面中的對象或其它的值傳回給發起頁面中橋梁作用。window.dialogArguments 即為父窗口window對象的引用

          例如:

               A 用window.showModalDialog()打開了B,B 用window.dialogArguments[0].open()打開了C,請問C關閉時怎么刷新B ?


           1       
           2 
           3 
           4 例子
           5 1.htm
           6 ===========
           7 <title>1</title>
           8 <input type=button value="open 2" onclick="window.showModalDialog('2.htm',window);">
           9 <script>
          10 alert("1")
          11 </script>
          12 
          13 
          14 2.htm
          15 ===========
          16 <title>2</title>
          17 <frameset cols="0,*">
          18 <frame src="">
          19 <frame src="b.htm">
          20 </frameset>
          21 
          22 b.htm
          23 ==========
          24 <input type=button value="open 3" onclick="window.showModalDialog('3.htm',window);">
          25 <script>
          26 alert("我是2")
          27 </script>
          28 
          29 
          30 3.htm
          31 =========
          32 <title>3</title>
          33 <frameset cols="0,*">
          34 <frame src="">
          35 <frame src="c.htm" name="x">
          36 </frameset>
          37 
          38 
          39 c.htm
          40 =====
          41 <input type="button" value="refresh 2 and close me" onclick="window.dialogArguments.location='2.htm';window.parent.close()">
          42 
          43 
          44 注意:showModalDialog緩存的厲害,請清空緩存每次測試


          轉自:    window.dialogArguments的使用,回調上級頁面
           1 上級頁面:showModelessDialogEX.htm
           2 <HTML>
           3 <HEAD>
           4 <TITLE>showModelessDialogEX.htm</TITLE>
           5 <SCRIPT>
           6 var sUserName="";
           7 
           8 function fnCallDialog(){
           9 showModelessDialog("myDialog.htm",window,"status:false;dialogWidth:300px;dialogHeight:300px");
          10 }
          11 
          12 function fnUpdate(){
          13       oName.innerText = sUserName;
          14 }
          15 </SCRIPT>
          16 </HEAD><BODY>
          17 <P>Enter your first name:
          18 <SPAN ID="oName" STYLE="color:red;font-size:24">Joan</SPAN></P>
          19 <INPUT TYPE="button"
          20 VALUE="Display Modeless Dialog" onclick="fnCallDialog()">
          21 </BODY>
          22 </HTML>
          23 
          24 彈出頁面:myDialog.htm
          25 <HTML>
          26 <HEAD>
          27 <TITLE>myDialog.htm</TITLE>
          28 <SCRIPT>
          29 function fnGetInfo() {
          30 var sData = dialogArguments;
          31 sData.sUserName = oEnterName.value;
          32 sData.fnUpdate();
          33 }
          34 function fnCancel() {
          35 var sData = dialogArguments;
          36 sData.sUserName = "Joan";
          37 sData.fnUpdate();
          38 }
          39 </SCRIPT>
          40 </HEAD>
          41 <BODY>
          42 <LABEL FOR="oEnterName" ACCESSKEY="f">
          43 Enter your <SPAN STYLE="text-decoration:underline">F</SPAN>irst Name</LABEL>
          44 <INPUT ID=oEnterName><BR><BR>
          45 <INPUT VALUE="Apply" TYPE=button onclick="fnGetInfo();">
          46 <INPUT VALUE="Ok" TYPE=button onclick="fnGetInfo();window.close();">
          47 <INPUT VALUE="Cancel" TYPE=button onclick="fnCancel();window.close();">
          48 </BODY>
          49 </HTML>
          50 
          51 其中myDialog.htm頁面回調showModelessDialogEX.htm頁面的fnUpdate(),進行數據更改操作。
          52 
          53 項目中用到的一個方法:
          54 
          55     function sendBackSign(){
          56       if(!onCheck()) return;
          57       window.dialogArguments[0].signContentPara ="&signTitle="+SignSheetForm.signTitle.value
          58                                                 +"&signContent="+SignSheetForm.signContent.value
          59                                                 +"&signPersonCuid="+SignSheetForm.signPersonCuid.value
          60                                                 +"&signTime="+SignSheetForm.signTime.value;
          61       window.dialogArguments[0].sendBack();
          62       window.close();
          63     }
          64     function closeWin(){
          65       window.close();
          66     }
          67 
          68 這里回調上級頁面的sendBack()方法

          使用:window.dialogArguments的使用
           1 window.dialogArguments的使用
           2 <HTML>
           3 
           4 <HEAD>
           5 
           6 <TITLE>showModelessDialogEX.htm</TITLE>
           7 
           8 <SCRIPT>
           9 
          10 var sUserName="";
          11 
          12 function fnCallDialog(){
          13 
          14 showModelessDialog("myDialog.htm",window,"status:false;dialogWidth:300px;dialogHeight:300px");
          15 
          16 }
          17 
          18 function fnUpdate(){
          19 
          20 oName.innerText = sUserName;
          21 
          22 }
          23 
          24 </SCRIPT>
          25 
          26 </HEAD>
          27 
          28 <BODY>
          29 
          30 <P>Enter your first name: <SPAN ID="oName" STYLE="color:red;font-size:24">Joan</SPAN></P>
          31 
          32 <INPUT TYPE="button" VALUE="Display Modeless Dialog" onclick="fnCallDialog()">
          33 
          34 </BODY>
          35 
          36 </HTML>
          37 
          38 
          39 Here is the code for "myDialog.htm".
          40 
          41 
          42 <HTML>
          43 <HEAD>
          44 <TITLE>myDialog.htm</TITLE>
          45 <SCRIPT>
          46 function fnGetInfo() {
          47 var sData = dialogArguments;
          48 sData.sUserName = oEnterName.value;
          49 sData.fnUpdate();
          50 }
          51 function fnCancel() {
          52 var sData = dialogArguments;
          53 sData.sUserName = "Joan";
          54 sData.fnUpdate();
          55 }
          56 </SCRIPT>
          57 </HEAD>
          58 <BODY>
          59 <LABEL FOR="oEnterName" ACCESSKEY="f">
          60 Enter your <SPAN STYLE="text-decoration:underline">F</SPAN>irst Name</LABEL>
          61 <INPUT ID=oEnterName><BR><BR>
          62 <INPUT VALUE="Apply" TYPE=button onclick="fnGetInfo();">
          63 <INPUT VALUE="Ok" TYPE=button onclick="fnGetInfo();window.close();">
          64 <INPUT VALUE="Cancel" TYPE=button onclick="fnCancel();window.close();">
          65 </BODY>
          66 </HTML>
          67 
          68 dialogArguments只能在mode和modeless窗口中才能使用,可以傳遞傳遞任意類型的值,
          69 上例就是傳得失window. 在以前的項目中,頁面之間傳遞參數經常使用的是url后接參數的形式,
          70 現在終于發現dialogArguments不愧為更好的方法。
          使用收藏: window.dialogArguments的使用收藏

           1 showModelessDialogEX.htm
           2 
           3 <HTML>
           4 <HEAD>
           5    <TITLE>showModelessDialogEX.htm</TITLE>
           6    <SCRIPT>var sUserName="";function fnCallDialog(){ showModelessDialog("myDialog.htm",window,"status:false;dialogWidth:300px;dialogHeight:300px");}function fnUpdate(){ oName.innerText = sUserName;}</SCRIPT>
           7 </HEAD>
           8 <BODY>
           9    <P>
          10     原始值:
          11     <SPAN ID="oName" STYLE="color:red;font-size:24">Hello</SPAN>
          12    </P>
          13    <INPUT TYPE="button" VALUE="彈出對話框" onclick="fnCallDialog()">
          14 </BODY>
          15 </HTML>
          16 
          17 myDialog.htm
          18 
          19 <HTML>
          20 <HEAD>
          21    <TITLE>myDialog.htm</TITLE>
          22    <SCRIPT>
          23 function fnGetInfo() {
          24 var sData = dialogArguments;
          25 sData.sUserName = oEnterName.value;
          26 sData.fnUpdate();
          27 }
          28 function fnCancel() {
          29 var sData = dialogArguments;
          30 sData.sUserName = "Joan";
          31 sData.fnUpdate();
          32 }
          33 </SCRIPT>
          34 </HEAD>
          35 <BODY>
          36    <LABEL FOR="oEnterName" ACCESSKEY="f">
          37     輸入名稱:
          38    </LABEL>
          39    <INPUT ID=oEnterName>
          40    <BR>
          41    <BR>
          42    <INPUT VALUE="應用" TYPE=button onclick="fnGetInfo();">
          43    <INPUT VALUE="確定" TYPE=button onclick="fnGetInfo();window.close();">
          44    <INPUT VALUE="取消" TYPE=button onclick="fnCancel();window.close();">
          45 </BODY>
          46 </HTML>

          相在文章:
                   window.dialogArguments 是什么

          posted on 2009-07-09 10:25 星期五 閱讀(358) 評論(0)  編輯  收藏 所屬分類: web 2.0

          主站蜘蛛池模板: 涿鹿县| 邵武市| 宝兴县| 大庆市| 进贤县| 高唐县| 山东省| 康马县| 历史| 新乡市| 富顺县| 开阳县| 和硕县| 南皮县| 白山市| 汪清县| 新民市| 宁安市| 莱州市| 开鲁县| 迁安市| 东乡族自治县| 宜黄县| 多伦县| 江安县| 上虞市| 玉龙| 锦屏县| 台中县| 建始县| 彩票| 抚远县| 应城市| 东乡族自治县| 平远县| 宝鸡市| 镇宁| 道真| 杂多县| 明星| 凌源市|