DWR util.js 学习笔记

阅读更多

DWR  util.js 学习笔记
/********************/

/********************/
util.js包含一些有用的函数function,用于在客户端页面调用.
主要功能如下:

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



*********************************************************************
//////////////////////http://blog.163.com/fzfx888//////////////////////////
*********************************************************************

Java代码 复制代码
  1. 1 、$()函数   
  2.   IE5. 0  不支持   
  3.   $ = document.getElementById   
  4.   取得form表单值   
  5.   var name = $( "name" );  
1、$()函数
  IE5.0 不支持
  $ = document.getElementById
  取得form表单值
  var name = $("name");


***********************************************************************************
///////////////////////////////////////////////////////////////////////////////////
***********************************************************************************
2、用于填充 select 下拉框 option

Java代码 复制代码
  1. a、如果你想在更新select 时,想保存原来的数据,即在原来的select中添加新的option:   
  2.     var sel = DWRUtil.getValue(id);   
  3.     DWRUtil.removeAllOptions(id);   
  4.     DWRUtil.addOptions(id,...);   
  5.     DWRUtil.setValue(id,sel);   
  6.     demo:比如你想添加一个option:“--请选择--”   
  7. DWRUtil.addOptions(id,[ "--请选择--" ]);    
  8.   
  9.    DWRUtil.addOptions()有 5 中方式:  
 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中方式:

 

 
Java代码 复制代码
  1. @ Simple Array Example: 简单数组   
  2.     例如:   
  3.     Array array =  new  Array[  'Africa' 'America' 'Asia' 'Australasia' 'Europe'  ];   
  4.     DWRUtil.addOptions( "demo1" ,array);  
  @ Simple Array Example: 简单数组
      例如:
      Array array = new Array[ 'Africa', 'America', 'Asia', 'Australasia', 'Europe' ];
      DWRUtil.addOptions("demo1",array);

 

   
Java代码 复制代码
  1. @ Simple Object Array Example 简单数组,元素为beans   
  2.       这种情况下,你需要指定要显示 beans 的 property 以及 对应的 bean 值   
  3.       例如:   
  4.         public   class  Person {   
  5.       private  String name;   
  6.       private  Integer id;   
  7.      pirvate String address;   
  8.       public   void  set(){……}   
  9.       public  String get(){……}   
  10.        }   
  11.        DWRUtil.addOptions( "demo2" ,array, 'id' , 'name' );   
  12.        其中id指向及bean的id属性,在optiong中对应value,name指向bean的name属性,对应下拉框中显示的哪个值.  
@ Simple Object Array Example 简单数组,元素为beans
      这种情况下,你需要指定要显示 beans 的 property 以及 对应的 bean 值
      例如:
       public class Person {
	 private String name;
	 private Integer id;
	 pirvate String address;
	 public void set(){……}
	 public String get(){……}
       }
       DWRUtil.addOptions("demo2",array,'id','name');
       其中id指向及bean的id属性,在optiong中对应value,name指向bean的name属性,对应下拉框中显示的哪个值.

 

    
Java代码 复制代码
  1. @ Advanced Object Array Example 基本同上   
  2.     DWRUtil.addOptions(  "demo3" ,    
  3.                 [{ name: 'Africa' , id: 'AF'  },   
  4.                  { name: 'America' , id: 'AM'  },   
  5.                  { name: 'Asia' , id: 'AS'  },   
  6.                  { name: 'Australasia' , id: 'AU'  },   
  7.                  { name: 'Europe' , id: 'EU'  }   
  8.         ], 'id' , 'name' );  
@ 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');

 

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

 

    
Java代码 复制代码
    •  and 
         list editing   
      1.         
      2.        DWRUtil.addOptions() 函数不但可以填出select,开可以填出
            这样的heml元素  
@ 
    and
      list editing DWRUtil.addOptions() 函数不但可以填出select,开可以填出
          这样的heml元素


***********************************************************************************
///////////////////////////////[email protected]//////////////////////////////////////
***********************************************************************************
3、addRows and removeAllRows  填充表格
   DWR 提供2个函数来操作 table;
   ----------------------------
   DWRUtil.addRows(); 添加行
   ----------------------------
   DWRUtil.removeAllRows(id); 删除指定id的table
   ----------------------------
   下面着重看一下 addRows() 函数:
  
   DWRUtil.addRows(id, array, cellfuncs, [options]);
    其中id 对应 table 的 id(更适合tbodye,推荐使用 tbodye)
    array 是server端服务器的返回值,比如list,map等等
    cellfuncs 及用返回值来天春表格
    [options] 用来设置表格样式,它有2个内部函数来设置单元格样式(rowCreator、cellCreator)。

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

Java代码 复制代码
  1.        public   class  Person {   
  2. private  String name;   
  3. private  Integer id;   
  4. pirvate String address;   
  5. public   void  set(){……}   
  6. public  String get(){……}   
  7.      }  
        public class Person {
	 private String name;
	 private Integer id;
	 pirvate String address;
	 public void set(){……}
	 public String get(){……}
       }

        
    下面用  DWRUtil.addRows();
/******************************************************************************/
/****************** ***********[email protected]********************************/
/*********************************************************************************/

Java代码 复制代码
  1.    function userList(data){   
  2.      //var delButton = "";   
  3.      //var editButton = "";   
  4.     var cellfuncs = [   
  5.         function(data){ return  data.id;},   
  6.         function(data){ return  data.userName;},   
  7.         function(data){ return  data.userTrueName;},   
  8.         function(data){ return  data.birthday;},   
  9.         function(data){   
  10.         var idd = data.id;   
  11. var delButton = document.createElement( " + idd + ")'>" );   
  12.             delButton.setAttribute( "id" , "delete" );   
  13.             delButton.setAttribute( "value" , "delete" );   
  14.              return  delButton;   
  15.         },   
  16.         function(data){   
  17.             var idd = data.id;   
  18.             var editButton = document.createElement( " + idd + ")'>" );   
  19.             editButton.setAttribute( "name" , "edit" );   
  20.             editButton.setAttribute( "value" , "edit" );               
  21.              return  editButton;   
  22.         }   
  23.     ];   
  24.     DWRUtil.removeAllRows( 'tabId' );    
  25.     DWRUtil.addRows( 'tabId' , data,cellfuncs,{   
  26.     rowCreator:function(options) {   
  27.         var row = document.createElement( "tr" );   
  28.         var index = options.rowIndex *  50 ;   
  29.         row.setAttribute( "id" ,options.rowData.id);   
  30.         row.style.collapse =  "separate" ;   
  31.         row.style.color =  "rgb("  + index +  ",0,0)" ;   
  32.          return  row;   
  33.     },   
  34.     cellCreator:function(options) {   
  35.         var td = document.createElement( "td" );   
  36.         var index =  255  - (options.rowIndex *  50 );   
  37.          //td.style.backgroundColor = "rgb(" + index + ",255,255)";   
  38.         td.style.backgroundColor =  "menu" ;   
  39.         td.style.fontWeight =  "bold" ;   
  40.         td.style.align =  "center" ;   
  41.          return  td;   
  42.     }          
  43.     });   
  44.     document.getElementById( "bt" ).style.display =  "none" ;   
  45.      }  
   function userList(data){
    //var delButton = "";
    //var editButton = "";
	var cellfuncs = [
		function(data){return data.id;},
		function(data){return data.userName;},
		function(data){return data.userTrueName;},
		function(data){return data.birthday;},
		function(data){
		var idd = data.id;
var delButton = document.createElement("");
			delButton.setAttribute("id","delete");
			delButton.setAttribute("value","delete");
			return delButton;
		},
		function(data){
			var idd = data.id;
			var editButton = document.createElement("");
			editButton.setAttribute("name","edit");
			editButton.setAttribute("value","edit");			
			return editButton;
		}
	];
	DWRUtil.removeAllRows('tabId');	
	DWRUtil.addRows('tabId', 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("bt").style.display = "none";
     }


     待续…………………………………………
/********************************************************************************/
/***********************QQ: 171505924 Gump **************************************/
/********************************************************************************/
   4、getText  取得text属性值
     
      DWRUtil.getText(id): 用来获得 option 中的文本
      比如:

Java代码 复制代码
  1.        "select" >   
  2. "1" > 苹果    
  3. "2"  select> 香蕉    
  4. "3" > 鸭梨    
  5.         
       


      调用 DWRUtil.getText("select"); 将返回 "香蕉" 字段;
      DWRUtil.getText(id);仅仅是用来获得 select 文本值,其他不适用。
   /******************************************************************************/
   /******************************************************************************/
   /******************************************************************************/

   5、DWRUtil.getValue(id): 用来获得 form 表单值
     
      有如下几种情况:

Java代码 复制代码
  1.        Text area (id= "textarea" ): DWRUtil.getValue( "textarea" )将返回 Text area的值;   
  2. Selection list (id= "select" ): DWRUtil.getValue( "select" ) 将返回 Selection list 的值;   
  3. Text input (id= "text" ): DWRUtil.getValue( "text" ) 将返回 Text input 的值;   
  4. Password input (id= "password" ): DWRUtil.getValue( "text" ) 将返回 Password input 的值;   
  5. Form button (id= "formbutton" ): DWRUtil.getValue( "formbutton" ) 将返回 Form button 的值;   
  6. Fancy button (id= "button" ): DWRUtil.getValue( "formbutton" ) 将返回 Fancy button 的值;  
         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():

Java代码 复制代码
  1.      "textarea"  id= "textarea"  value= "1111" />   
  2.       "text"  id= "text"  value= "2222" />   
  3.       "password"  id=  "password"  value= "3333" />   
  4.       "select" >   
  5. "1" > 苹果    
  6. "4444"  select> 香蕉    
  7. "3" > 鸭梨    
  8.          
  9.       "button"  id= "button"  value= "5555" />   
  10.         
  11.      那么: DWRUtil.getValues({textarea: null ,select: null ,text: null ,password: null ,button: null })   
  12.      将返回  ^^^^^^^^^^^^^^^^{textarea: 1111 ,select: 4444 ,text: 2222 ,password: 3333 ,button: 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 防止当在文本框中输入后,直接按回车就提交表单。

    
    

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

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

      在一个input box里选一个范围

Java代码 复制代码
  1. DWRUtil.selectRange( "sel-test" , $( "start" ).value, $( "end" ).value);   
  2.   
  3. 比如: "text"  id= "sel-test"  value= "012345678901234567890" >   
  4.   
  5. DWRUtil.selectRange( "sel-test" 2 15 );  
      DWRUtil.selectRange("sel-test", $("start").value, $("end").value);

      比如:

      DWRUtil.selectRange("sel-test", 2, 15);

结果 文本框中的值"2345678901234"将被选中'

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

   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 最多分析到第二层子元素的多行调试

   
    DWRUtil。toDescriptiveString("text",0);
   /******************************************************************************/

   12、DWRUtil.useLoadingMessage();
    当发出ajax请求后,页面显示的提示等待信息;

Java代码 复制代码
  1.    function searchUser(){   
  2. var loadinfo =  "loading....."   
  3. try {   
  4.     regUser.queryAllUser(userList);   
  5.     DWRUtil.useLoadingMessage(loadinfo);           
  6. } catch (e){   
  7.   
  8. }   
  9.    }  

你可能感兴趣的:(DWR,Bean,Ajax,QQ,Blog)