DWR之UTIL.JS工具方法

 util.js包含一些有用的函数function,用于在客户端页面调用. 


主要功能如下: 

代码 

1、$() 获得页面参数值    
2、addOptions and removeAllOptions 初始化下拉框    
3、addRows and removeAllRows   填充表格    
4、getText   取得text属性值    
5、getValue 取得form表单值    
6、getValues 取得form多个值    
7、onReturn      
8、selectRange    
9、setValue    
10、setValues    
11、toDescriptiveString    
12、useLoadingMessage    
13、Submission box   

代码 

1、$()函数    
   IE5.0 不支持    
   $ = document.getElementById    
   取得form表单值    
   var name = $("name");   

代码 

a、如果你想在更新select 时,想保存原来的数据,即在原来的select中添加新的option:    
     var sel = DWRUtil.getValue(id);    
     DWRUtil.removeAllOptions(id);    
     DWRUtil.addOptions(id,...);    
     DWRUtil.setValue(id,sel);    
     demo:比如你想添加一个option:“--请选择--”    
DWRUtil.addOptions(id,["--请选择--"]);    
   
    DWRUtil.addOptions()有5中方式:   

代码 

@ Simple Array Example: 简单数组    
     例如:    
     Array array = new Array[ 'Africa', 'America', 'Asia', 'Australasia', 'Europe' ];    
     DWRUtil.addOptions("demo1",array);   

代码 

@ Simple Object Array Example 简单数组,元素为beans    
       这种情况下,你需要指定要显示 beans 的 property 以及 对应的 bean 值    
       例如:    
       

    function processCallback(provinces){
          //provinces是一个数组,是远程bean的返回值List<String>
          var arrayObject=new Array();
          for(var i=0;i<provinces.length;i++)
            {
              arrayObject[i]={value:provinces[i],name:i};
            }
          dwr.util.addOptions("provinceSel",arrayObject,"name","value");
       }
        其中provinceSel指向select的id,name指向option中对应key,value指向对应下拉框中value.   

代码 

@ Advanced Object Array Example 基本同上    
     DWRUtil.addOptions( "demo3",    
                 [{ name:'Africa', id:'AF' },    
                  { name:'America', id:'AM' },    
                  { name:'Asia', id:'AS' },    
                  { name:'Australasia', id:'AU' },    
                  { name:'Europe', id:'EU' }    
         ],'id','name');   

代码 

@ Map Example 用制定的map来填充 options:    
        如果 server 返回 Map,呢么这样处理即可:    
        DWRUtil.addOptions( "demo3",map);    
        其中 value 对应 map keys,text 对应 map values;   

代码 

@ <ul> and <ol> list editing    
         
        DWRUtil.addOptions() 函数不但可以填出select,并可以填出<ul>和<ol>这样的html元素   

3、addRows and removeAllRows 填充表格 

DWR 提供2个函数来操作 table; 

---------------------------- 

DWRUtil.addRows(); 添加行 

---------------------------- 

DWRUtil.removeAllRows(id); 删除指定id的table 

---------------------------- 

下面着重看一下 addRows() 函数: 

DWRUtil.addRows(id, array, cellfuncs, [options]); 

其中id 对应 table 的 id(更适合tbody,推荐使用 tbody) 

array 是server端服务器的返回值,比如list,map等等 

cellfuncs 及用返回值来填充表格 

[options] 用来设置表格样式,它有2个内部函数来设置单元格样式(rowCreator、cellCreator)。 

比如: server端返回list,而list中存放的是下面这个 bean: 

代码 

       public class Person {    
private String name;    
private Integer id;    
private String address;    
public void set(){……}    
public String get(){……}    
      }   

下面用 DWRUtil.addRows(); 

代码 

 function processCallback(data){
      
      var cellfuncs = [   
         function(data){return data.id;},   
         function(data){return data.name;},   
         function(data){return data.address;},   
         function(data){
         var idd = data.id;
    var delButton = document.createElement("input");
     delButton.setAttribute('type','button');
     delButton.setAttribute('onclick', 'delPerson('+ idd +')'); 
             delButton.setAttribute("id","delete");   
             delButton.setAttribute("value","delete");
             return delButton;   
         },   
         function(data){
             var idd = data.id;   
             var editButton = document.createElement("input");   
             editButton.setAttribute('type','button');
     editButton.setAttribute('onclick', 'editPerson('+ idd +')');
             editButton.setAttribute("id","edit");   
             editButton.setAttribute("value","edit");               
             return editButton;   
         }   
     ];
       DWRUtil.removeAllRows('body');   
        DWRUtil.addRows("body", data, cellfuncs,{   
      rowCreator:function(options) {   
          var row = document.createElement("tr");   
          var index = options.rowIndex * 50;
          row.setAttribute("id",options.rowData.id);
          row.style.collapse = "separate";   
          row.style.color = "rgb(" + index + ",0,0)";
         
          return row;   
      },   
      cellCreator:function(options) {   
          var td = document.createElement("td");   
          var index = 255 - (options.rowIndex * 50);   
          //td.style.backgroundColor = "rgb(" + index + ",255,255)";   
          td.style.backgroundColor = "menu";   
          td.style.fontWeight = "bold";   
          td.style.align = "center";
          
          return td;   
      }          
     });
   // document.getElementById("table").style.display = "none";   
     }
4、getText 取得text属性值 

DWRUtil.getText(id): 用来获得 option 中的文本 

比如: 

代码 

       <select id="select">   
<option   value="1"> 苹果 </option>   
<option   value="2" select> 香蕉 </option>   
<option   value="3"> 鸭梨 </option>   
       </select>   

调用 DWRUtil.getText("select"); 将返回 "香蕉" 字段; 

DWRUtil.getText(id);仅仅是用来获得 select 文本值,其他不适用。 

5、DWRUtil.getValue(id): 用来获得 form 表单值 

有如下几种情况: 

代码 

      Text area (id="textarea"): DWRUtil.getValue("textarea")将返回 Text area的值;    
Selection list (id="select"): DWRUtil.getValue("select") 将返回 Selection list 的值;    
Text input (id="text"): DWRUtil.getValue("text") 将返回 Text input 的值;    
Password input (id="password"): DWRUtil.getValue("text") 将返回 Password input 的值;    
Form button (id="formbutton"): DWRUtil.getValue("formbutton") 将返回 Form button 的值;    
Fancy button (id="button"): DWRUtil.getValue("formbutton") 将返回 Fancy button 的值;   

6、getValues 取得form多个值 

批量获得页面表单的值,组合成数组的形式,返回 name/value; 

例如: form(): 

代码 

     <input type="textarea" id="textarea" value="1111"/>   
      <input type="text" id="text" value="2222"/>   
      <input type="password" id= "password" value="3333"/>   
      <select id="select">   
<option   value="1"> 苹果 </option>   
<option   value="4444" select> 香蕉 </option>   
<option   value="3"> 鸭梨 </option>   
       </select>   
      <input type="button" id="button" value="5555"/>   
         
      那么: DWRUtil.getValues({textarea:null,select:null,text:null,password:null,button:null})    
      将返回   ^^^^^^^^^^^^^^^^{textarea:1111,select:4444,text:2222,password:3333,button:5555}   

7、DWRUtil.onReturn 防止当在文本框中输入后,直接按回车就提交表单。 

<input type="text" οnkeypress="DWRUtil.onReturn(event, submitFunction)"/> 

<input type="button" οnclick="submitFunction()"/> 

8、DWRUtil.selectRange(ele, start, end); 

在一个input box里选一个范围 

代码 

DWRUtil.selectRange("sel-test", $("start").value, $("end").value);    
   
比如:<input type="text" id="sel-test" value="012345678901234567890">    
   
DWRUtil.selectRange("sel-test", 2, 15);   

9、DWRUtil.setValue(id,value); 

为指定的id元素,设置一个新值; 

10、DWRUtil.setValues({ 

name: "fzfx88", 

password: "1234567890" 



); 同上,批量更新表单值. 

/***********************************************************************/ 

11、DWRUtil.toDescriptiveString() 

带debug信息的toString,第一个为将要debug的对象,第二个参数为处理等级。等级如下: 

0: Single line of debug 单行调试 

1: Multi-line debug that does not dig into child objects 不分析子元素的多行调试 

2: Multi-line debug that digs into the 2nd layer of child objects 最多分析到第二层子元素的多行调试 

<input type="text" id="text"> 

DWRUtil。toDescriptiveString("text",0); 

/******************************************************************************/ 

12、DWRUtil.useLoadingMessage(); 

当发出ajax请求后,页面显示的提示等待信息; 

代码 

    function searchUser(){    
var loadinfo = "loading....."   
try{    
     regUser.queryAllUser(userList);    
     DWRUtil.useLoadingMessage(loadinfo);            
}catch(e){    
   
}    
    }

部分代码可以从http://download.csdn.net/source/1243641下载!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值