gird分页时form与url参数的探讨
2009-09-06 00:00:00 来源:WEB开发网以上代码主要要明白的是:
1、用array.push(value)往数组中追加元素值。
2、array.splice()后返回的数组值会发生变化,所以在delSpecialArgs()方法的while循环条件里需要把pairs的search的name值取出来:
urlParamMgr.getSearchName(pairs).join("&").indexOf(delName)!=-1
同时注意,为什么是只取Name值,原来没有只取值对的name值,而把整个值对的值都取出来才去判断是否indexOf(delName)为-1,如下(原来的代码):
pairs.join("&").indexOf(delName)!=-1
谁知进入了死循环,因为刚才有一个值对的value为这个delName(挺特殊的),而不是值对的name为delName,所以进入了死循环。
3、getArgs()在实际应用中很常用,比如一个js要取一个url的某个值对的值时,很常用。
另外,ArrayUserCommMgr类的代码也给出:
Js代码
function ArrayUserCommMgr(){
}
ArrayUserCommMgr.prototype={
delOneArrayEle:function(arrayObj,delEle){
for(var i=0;i<arrayObj.length;i++){
if(arrayObj[i]==delEle) arrayObj.splice(i,1);
}
return arrayObj;
},
judgeDoubleEle:function(arrayObj,delEle){
var isDouble=false;
for(var i=0;i<arrayObj.length;i++){
if(arrayObj[i]==delEle) {
isDouble = true;
break;
}
}
return isDouble;
},
//多维数组,得到乘法表
getMultiplicationTable:function(){
var table = new Array(10); // 10 rows of the table
for(var i = 0; i < table.length; i++)
table[i] = new Array(10); // Each row has 10 columns
for(var row = 0; row < table.length; row++) {
for(col = 0; col < table[row].length; col++) {
table[row][col] = row*col;
}
}
},
isArray:function(a){
var result = false;
if((a instanceof Array)||
(a && typeof a == "object" && "length" in a)){
result = true;
}
return result;
}
}
var arrayUserCommMgr = new ArrayUserCommMgr();
上述ArrayUserCommMgr类代码虽然很简单,但是比如isArray()就很常用,如你写一个函数对传入的参数一定要是数组有严格的要求的话,就可以使用,它会使你写出的代码更严谨更优美。
至此,上述话题大概讲述完了,关于js的一些公共的类(基于prototype),在以后随着不断的总结再陆续总结出来。
- ››Url传参数被IE截断的解决方案
- ››URL和HttpCore,HttpClien(不用DNS解析,直接访问...
- ››Form Reset Function
- ››url2bmp网页截图工具 命令行参数说明
- ››gird分页时form与url参数的探讨
- ››URL Rewrite(1):IIS与ASP.NET
- ››URL Rewrite(2):使用组件进行URL Rewrite
- ››URL Rewrite(3):在URL Rewrite后保持PostBack地...
- ››URL Rewrite(4):不同级别URL Rewrite的一些细节...
- ››URL编码转换,escape() encodeURI() encodeURIComp...
- ››URLs,URIs,Proxies和Passwords 解析
- ››URL编码
更多精彩
赞助商链接