隨筆-3  評論-26  文章-41  trackbacks-0

          利用vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]),我們可以打開一個模態窗口,該窗口的優點是限制用戶只能對當前的頁面進行操作,而對其父頁面不能進行操作,常用于向導或者信息獲取頁面。
          利用其中的vArguments我們可以在父頁面和彈出的頁面中進行參數的傳遞,參數可以為自定義的對象,也可以傳遞父頁面中任何一個控件的引用,這使得我們可以很容易的來操作父頁面中的各個元素,使得參數的傳遞變得非常容易。
          1.     自定義對象參數傳遞
          我們可以定義一個javascript對象,然后定義各種自定義屬性的值,然后可以將此對象傳遞到子頁面中。
          如:父頁面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>
           
          上述的代碼可以將父頁面的信息封裝成一個對象,然后將該對象傳遞給子頁面。
           
           
          2.父頁面元素傳遞
          以將父頁面中元素對象的引用傳遞給子頁面,通過該引用我們可以訪問父頁面中的該元素對象。
          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源代碼:
          //其中利用元素對象的引用我們可以操縱父頁面的元素對象的屬性。
           
          <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 百年 閱讀(592) 評論(0)  編輯  收藏 所屬分類: Javascript Article
          主站蜘蛛池模板: 九龙县| 金平| 汉寿县| 金山区| 垣曲县| 通山县| 自贡市| 祥云县| 隆昌县| 化州市| 普定县| 翁源县| 浦东新区| 新沂市| 陵水| 麻江县| 海兴县| 岑溪市| 阜城县| 乐昌市| 浪卡子县| 随州市| 姚安县| 碌曲县| 秦安县| 新沂市| 丹江口市| 易门县| 哈密市| 新营市| 贵南县| 竹北市| 凤庆县| 加查县| 丘北县| 长沙市| 任丘市| 呼图壁县| 邵阳县| 松阳县| 凤山市|