隨筆-3  評(píng)論-26  文章-41  trackbacks-0

          利用vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]),我們可以打開一個(gè)模態(tài)窗口,該窗口的優(yōu)點(diǎn)是限制用戶只能對(duì)當(dāng)前的頁面進(jìn)行操作,而對(duì)其父頁面不能進(jìn)行操作,常用于向?qū)Щ蛘咝畔@取頁面。
          利用其中的vArguments我們可以在父頁面和彈出的頁面中進(jìn)行參數(shù)的傳遞,參數(shù)可以為自定義的對(duì)象,也可以傳遞父頁面中任何一個(gè)控件的引用,這使得我們可以很容易的來操作父頁面中的各個(gè)元素,使得參數(shù)的傳遞變得非常容易。
          1.     自定義對(duì)象參數(shù)傳遞
          我們可以定義一個(gè)javascript對(duì)象,然后定義各種自定義屬性的值,然后可以將此對(duì)象傳遞到子頁面中。
          如:父頁面sender.htm源代碼為:

          <html> 
          <script>
          function show()
          {
               
          var person = new Object();
               person.myName
          =myName.value;
               person.age 
          = age.value;
               person.country 
          = country.value;
               window.showModalDialog(
          "target.htm",person,"");
          }

          </script> 
          <body>
              
          <table>
                  
          <tr>
                      
          <td>
                          name:
          </td>
                      
          <td>
                          
          <input id="myName"></td>
                  
          </tr>
                  
          <tr>
                      
          <td>
                          age:
          </td>
                      
          <td>
                          
          <input id="age"></td>
                  
          </tr>
                  
          <tr>
                      
          <td>
                          country:
          </td>
                      
          <td>
                          
          <input id="country"></td>
                  
          </tr>
              
          </table>
              
          <br>
              
          <input type="button" value="open" onclick="show()">
          </body>
          </html>
           
          彈出的子頁面target.htm的源代碼為:
           
          <html>
          <body>
              
          <table>
                  
          <tr>
                      
          <td>
                          name:
          </td>
                      
          <td id="myName">
                      
          </td>
                  
          </tr>
                  
          <tr>
                      
          <td>
                          age:
          </td>
                      
          <td id="age">
                      
          </td>
                  
          </tr>
                  
          <tr>
                      
          <td>
                          country:
          </td>
                      
          <td id="country">
                      
          </td>
                  
          </tr>
              
          </table>
          </body>
           
          <script>
              
          var person = window.dialogArguments;
              myName.innerText 
          = person.myName;
              age.innerText 
          = person.age;
              country.innerText 
          = person.country;
          </script>
           
          </html>
           
          上述的代碼可以將父頁面的信息封裝成一個(gè)對(duì)象,然后將該對(duì)象傳遞給子頁面。
           
           
          2.父頁面元素傳遞
          以將父頁面中元素對(duì)象的引用傳遞給子頁面,通過該引用我們可以訪問父頁面中的該元素對(duì)象。
          Sender.htm源代碼:
           
          <html> 
          <script>
          function show()
          {
               window.showModalDialog(
          "target.htm",infoDiv,"");
          }

          </script>
           
          <body>
              
          <div id="infoDiv">
                  
          <table id="infoTable">
                      
          <tr>
                          
          <td>
                              name:
          </td>
                          
          <td>
                              
          <input id="myName"></td>
                      
          </tr>
                      
          <tr>
                          
          <td>
                              age:
          </td>
                          
          <td>
                              
          <input id="age"></td>
                      
          </tr>
                      
          <tr>
                          
          <td>
                              country:
          </td>
                          
          <td>
                              
          <input id="country"></td>
                      
          </tr>
                  
          </table>
              
          </div>
              
          <br>
              
          <input type="button" value="conveyElement" onclick="show()">
          </body>
          </html>

          Target.htm源代碼:
          //其中利用元素對(duì)象的引用我們可以操縱父頁面的元素對(duì)象的屬性。
           
          <html>
          <body>
              
          <div id="childDiv">
              
          </div>
           
              
          <script>
               
          var infoDiv = window.dialogArguments;
              
          </script>
           
              
          <br>
              
          <input type="button" value="showInnerHtml" onclick='childDiv.innerHTML=infoDiv.innerHTML'>
              
          <br>
              
          <input type="button" value="changePColor" onclick='infoDiv.style.backgroundColor="lightgreen"'>
          </body>
          </html>
          posted on 2008-03-14 10:51 百年 閱讀(597) 評(píng)論(0)  編輯  收藏 所屬分類: Javascript Article
          主站蜘蛛池模板: 洪泽县| 乐安县| 泗洪县| 铜梁县| 犍为县| 新建县| 红河县| 杂多县| 汶川县| 航空| 肥乡县| 泗水县| 凌云县| 邵阳县| 临高县| 郁南县| 班玛县| 雅安市| 汝城县| 安徽省| 黄浦区| 垣曲县| 游戏| 尼玛县| 安乡县| 赣榆县| 麻江县| 宁城县| 双江| 沛县| 云阳县| 大化| 连云港市| 剑川县| 新疆| 嘉鱼县| 泽普县| 伊春市| 德兴市| 天长市| 宝应县|