<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    9910

    單飛

       :: 首頁 :: 聯系 :: 聚合  :: 管理

    util.js工具包包含了一些實用函數來幫助你用javascript操作從服務器返回的數據數據,以便來更新web頁面。 也可以在DWR以外使用它,因為它不依賴于DWR的其他部分。下面介紹這個工具的主要函數。
    7.13.1 $()函數
    $() 函數實現的功能相當于 document.getElementById方法。 因為在Ajax程序中,經常需要寫很多這樣的語句,所以使用 $() 會更簡潔。它通過指定的id來查找當前HTML文檔中的元素,如果傳遞給它多個參數,它會返回找到的元素的數組。所有非String類型的參數會被原封不 動的返回。這個函數的靈感來至于prototype庫,但是它可以在更多的瀏覽器上運行。
    $() 函數的使用方法為:
    var searchexp = $("searchbox").value
    <!—對應HTML表單的ID-->
    <input id="searchbox"/>
    7.12.2 addOptions與 removeAllOptions函數
    在DWR項目應用中,經常需要根據所選項來填充選擇列表。這現這種功能可能通過調用addOptions與 removeAllOptions函數來填充或移除列表。例如,如果希望在更新了select以后,它仍然保持更新前的選擇項,實現方法如下:
    var sel = dwr.util.getValue(id);
    dwr.util.removeAllOptions(id);
    Array array = new Array[ 'Africa', 'America', 'Asia', 'Australasia', 'Europe' ];   
    dwr.util.addOptions("id ",array);  
    dwr.util.setValue(id, sel);
    如果想加入一個初始的"請選擇..." 選項,那么可以直接加入下面的語句:
    dwr.util.addOptions(id, \["請選擇 ..."]);
    dwr.util.addOptions有5種模式,分別為:
    ? 數組模式:dwr.util.addOptions(selectid, array) 會創建多個option,每個option的文字和值都是數組元素中的值。
    ? 對象數組模式:(指定text): dwr.util.addOptions(selectid, data, prop) 用數組中的每個元素創造一個option,option的值和文字都是在prop中指定的對象的屬性。例如:  
    dwr.util.addOptions( "demo",   
                     [{ name:'Africa', id:'AF' },   
                      { name:'America', id:'AM' },   
                      { name:'Asia', id:'AS' },   
                      { name:'Australasia', id:'AU' },   
                      { name:'Europe', id:'EU' } ],'id','name');  
    ? 對象數組模式: (指定text和value值): dwr.util.addOptions(selectid, array, valueprop, textprop) 用數組中的每個元素創造一個option,option的值是對象的valueprop屬性,option的文字是對象的textprop屬性。 這種情況下,你需要指定要顯示 beans 的 property 以及 對應的 bean 值,例如:  
    public class Person {   
          private String name;   
          private Integer id;   
          public void set(){……}   
          public String get(){……}   
       }   
    dwr.util.addOptions("demo",array,'id','name');   
    其中id指向及bean的id屬性,在optiong中對應value,name指向bean的name屬性,對應下拉框中顯示的哪個值。
    ? 對象模式: dwr.util.addOptions(selectid, map, reverse)用每個屬性創建一個option。對象的屬性名用來作為option的值,對象的屬性值用來作為屬性的文字,如果reverse參數被設 置為true,那么對象的屬性值用來作為選項的值。
    ? 對象的Map模式:dwr.util.addOptions(selectid, map, valueprop, textprop) 用map中的每一個對象創建一個option。用對象的valueprop屬性做為option的value,用對象的textprop屬性做為 option的文字。
    ? ol 或 ul 列表模式:dwr.util.addOptions(ulid, array) 用數組中的元素創建多個li元素,它們的innerHTML是數組元素中的值。這種模式可以用來創建ul和ol列表。
    7.13.3 addRows與 removeAllRows函數
    在 DWR應用中,通過addRows與 removeAllRows這兩個函數來操作table表格,這個函數的第一個參數都是table、tbody、thead、tfoot的id。一般來說 最好使用tbody,因為這樣可以保持header和footer行不變。它們的用法如下:
    ? dwr.util.removeAllRows()
    dwr.util.removeAllRows(id);
    通過table元素的id刪除table中所有行。
    如果要刪除表格中的某一行,則可用如下方法:
    function deleteRows(id)
    {
    var tbody=document.getElementById("tb1");// tbody 的id
    var trow=document.getElementById(id);//要刪除的行號
    if(confirm("確定刪除?"))
    {
        tbody.removeChild(trow);
    }
    }
    ? dwr.util.addRows()
    dwr.util.addRows(id, array, cellfuncs, [options]);
    這行語句向指定id的table元素添加行。它使用數組中的每一個元素在table中創建一行。然后用cellfuncs從傳遞過來的行數據中提取單元格數據。其中參數:
    ? id: table元素的id(最好是tbody元素的id)
    ? array:數組或對象,做為更新表格數據。
    ? cellfuncs: 函數數組,從傳遞過來的行數據中提取單元格數據。
    ? options: 一個包含選項的對象,選項包括一個用來創建行的函數rowCreator(例如希望給tr加上css), 默認值是返回一個document.createElement("tr")。一個用來創建單元格的函數cellCreator(例如用th代替td)。 默認返回一個document.createElement("td")。下面就是一個向table元素添加行的應用例子,代碼如下:
    var cellFuncs = [
    function(data) { return data; },
    function(data) { return data.toUpperCase(); },
    function(data) {
        return "<input type='button' value='提交' onclick='alert(\"測試\");'/>";
    },
    function(data) { return count++; }
    ];
    var count = 1;
    dwr.util.addRows( "t1", , cellFuncs, { escapeHtml:false });
    <!—對應的HTML內容-->
    <table border="1" width="110%"   id="table17" name="table17" height="27">
    <tbody id="t1" name="t1">
    </tbody>
    </table>
    7.13.4 getText函數
    getText(id)和getValue(id)相似。用它可以得到select列表項目的顯示的文本,而不是當前選項的值。
    7.13.5 getValue函數
    dwr.util.getValue(id) 可以從HTML元素中取出其中的值,這個函數能操作大多數HTML元素,其中包括select(去處當前選項的值而不是文字)、input元素(包括 textarea)、div和span。下面就是一個getValue函數的應用例子,實現代碼如下:
    <html>
    <head>
       <title></title>
       <script type="text/javascript" src="dwr/util.js"></script>
       <script type="text/javascript" src="dwr/engine.js"></script>
       <script>
    function getValue()
    {
    var cnId = dwr.util.getValue("myId");
    var cnValue = dwr.util.getValue("myValue");
    alert(dwr.util.getValue("myId"));
    }
    </script>
    </head>
    <body>
       <input type="text" value="" id="myId" />,
       <input type="text" value="" id="myValue" />
       <input type="button" value="setValue" onclick="getValue();" />
    </body>
    </html>
    7.13.6 getValues函數
    getValues() 得到的是包含name/value對的javascript對象。name是HTML元素的ID,value會被更改為這些ID對象元素的內容。 getValues()可以傳入一個HTML元素(一個DOM對象或者id字符串)象。這個函數不會返回對象,它只更改傳遞給它的值。下面就是一個 getValues函數的應用例子,實現代碼如下:
    var person = { id:1, name:'tfnew21', address:'北京', salary:10000 };  
    dwr.util.getValues(person);  
    alert(person.name); //訪問person對象的屬于,運行后會在窗口中顯示’tfnew21’字符串
    dwr.util.getValues({textarea:null,select:null,text:null,password:null,button:null})   
    alert(textarea.value);// 執行后textarea.value的值為"test"
    //HTML中的代碼
    <input type="textarea" id="textarea" value="test" />
    <input type="text" id="text" value="tfnew21" />
    <input type="password" id="password" value="12345" />
    <select id="select">
    <option value="1" select>
    香蕉
    </option>
    </select>
    7.13.7 onReturn函數
    定 義在輸入框中按回車的響應,防止執行submit。當使用Ajax時,往往需要的觸發一些Javscript。 不幸的是不同的瀏覽器處理這個事件的方式不一樣。所以dwr.util.onReturn修復了這個差異。如果需要在一個表單元素中按回車時觸發一些 Javscript,實現代碼如下:
    <input type="text" onkeypress="dwr.util.onReturn(event,submitFunction)"/>
    <input type="button" onclick="submitFunction()"/>
    這個函數的工作原理與onSubmit()事件相似,只能存在于<FORM >元素中。
    7.13.8 selectRange函數
    selectRange用于選擇一個輸入框中的一定范圍的文字。 調用方法如下:
    dwr.util.selectRange(ele, start, end)//ele輸入ID,start開始位置,end結尾位置
    例如:<input type="text" id="sel-test" value="0123456">   
    dwr.util.selectRange("sel-test", 2, 5);  
    7.13.9 setValue函數
    dwr.util.setValue(id, value)根據第一個參數中指定的id找到相應元素,并根據第二個參數改變其中的值。 這個函數能操作大多數HTML元素,包括select、input元素(包括textarea)、div和span。例如:下面就是一個getValue 函數的應用例子,實現代碼如下:
    <html>
    <head>
       <title></title>
       <script type="text/javascript" src="dwr/util.js"></script>
       <script type="text/javascript" src="dwr/engine.js"></script>
       <script>
    function setValue()
    {
    var cnId = dwr.util.getValue("myId");
    var cnValue = dwr.util.getValue("myValue");
    dwr.util.setValue(cnId, cnValue);
    alert(dwr.util.getValue("myId"));
    }
    </script>
    </head>
    <body>
       dwr.util.setValue(
       <input type="text" value="" id="myId" />,
       <input type="text" value="" id="myValue" />
       )
       <input type="button" value="setValue" onclick="setValue();" />
    </body>
    </html>
    7.13.10 setValues函數
    setValues() 和setValue()非常相似,但它傳入的參數是一個擁有多個屬性的javascript object,屬性名稱是html頁面元素的id,屬性value為html頁面元素的value。下面就是一個setValues函數的應用例子,實現 代碼如下:
    <html>
    <head>
       <title></title>
       <script type="text/javascript" src="dwr/util.js"></script>
       <script type="text/javascript" src="dwr/engine.js"></script>
       <script>
    function setValue()
    {
    var cnId = {myAreaText:"tfnew21",myDiv:"ddr"};
    dwr.util.setValues(cnId);

    }
    </script>
    </head>
    <body>
       <input type="button" value="setValue" onclick="setValue();" />
       <br />
       id=myAreaText
       <textarea id="myAreaText" value=""></textarea>
       <br />
       id=myDiv
       <div id="myDiv"></div>
    </body>
    </html>
    7.13.11 toDescriptiveString函數
    toDescriptiveString函數是帶debug信息的toString,第一個為將要debug的對象,第二個參數為處理等級。等級如下:
    0:單行調試
    1:不分析子元素的多行調試
    2: 最多分析到第二層子元素的多行調試
    調用方法如下:
    <input type="text" id="text">
    dwr.util.toDescriptiveString("text",0);
    7.13.12 useLoadingMessage函數
    useLoadingMessage函數作用是當發出ajax請求后,頁面顯示的提示等待信息,調用方法如下:
    function searchUser(){   
    var loadinfo = "loading....."  
    try{   
         regUser.queryAllUser(userList);   
         dwr.util.useLoadingMessage(loadinfo);           
    }catch(e){   
      
    }   
    }

    以上介紹了DWR的工用原理就實現方法,同時介紹了兩個工具包的常用函數的用法,有關DWR的在項目中的具體應用,將在后面的在線書店電子商務系統中詳細介紹,本節不在介紹。

    posted on 2009-04-22 15:13 單飛 閱讀(882) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品宾馆在线精品酒店| 亚洲码在线中文在线观看| 黄a大片av永久免费| 最近免费中文字幕视频高清在线看 | 日本免费中文字幕| 91老湿机福利免费体验| 毛片在线免费视频| 亚洲人成网77777色在线播放| 久久综合日韩亚洲精品色| 亚洲一卡二卡三卡四卡无卡麻豆 | 亚洲成熟丰满熟妇高潮XXXXX| 国产精品美女午夜爽爽爽免费| 国产亚洲精品VA片在线播放| free哆拍拍免费永久视频| 久久99热精品免费观看动漫| 国产成人青青热久免费精品| 亚洲码国产精品高潮在线| 免费国产成人α片| 免费在线观看中文字幕| 亚洲国产精品网站久久| 两个人看www免费视频| 妞干网手机免费视频| 亚洲卡一卡2卡三卡4卡无卡三| 亚洲av无码专区国产不乱码| 2015日韩永久免费视频播放 | 亚洲福利精品一区二区三区| 久久久久se色偷偷亚洲精品av| 成全视频免费高清| 特级毛片免费播放| 成人免费毛片内射美女-百度| 久久精品亚洲一区二区| 免费影院未满十八勿进网站| 久久亚洲精品成人综合| 黄页网址在线免费观看| 亚洲国产成人高清在线观看 | 免费看大美女大黄大色| 2022国内精品免费福利视频| 亚洲视频在线播放| 国产一区二区三区在线免费| 亚洲乱妇老熟女爽到高潮的片 | 久久亚洲AV午夜福利精品一区|