发信人: nonepassby(左右無人) 
整理人: qcrsoft(2002-05-21 23:14:46), 站内信件
 | 
 
 
 <script language=javascript> 
  //各位是不是在asp文件中用惯了request("varname")来得到get送来的值呢,
  //可惜在客户端要取得好象很麻烦,今天又有个网友在上面发表了这方面的问题,
  //因此,我编了一个小函数,来可以仿照asp的request("varname")的形式来取得传送过来的值
  //而且在htm文件中也可以使用:),把它放在你的脚本库中,以后就不用为这个发愁了
  //注意:只在IE中测试通过,netscape没试过
  //用法:假设地址栏是:http://localhost/test.htm?stra=bbcc&intb=56,则这样调用:
  //var a=request("stra");var b=request("intb")
  //当然你还可以用c=request("abc"),看看是什么结果^^
  //刚刚又修改了一个大BUG,现在增加了一个getoffset函数,用来得到正确的起始位置
  
  //本代码还有一个功能没有实现,即有同名变量只取第一个,没有用数组接收
  //有兴趣的朋友可以自己完成它,我以后也会编编看^^
  
 //getoffset用来求得有效起始值
 function getoffset(strsearch,substr,offset){
 	var sublen=substr.length;
 	//从offset位置开始查找子串在搜索字符串中的位置
 	var reval=strsearch.indexOf(substr,offset)
 	if (reval==-1) return reval;//没找到,返回-1
 	//新起始值为子串后第二个字符的位置,因为位置是从0开始的
 	reval=reval+sublen+1;
 	//看子串后的一个字符是不是=号,如果是,表示得到的起始值有效
 	if (strsearch.charAt(reval-1)=="=") return reval;
 	//如果不是,继续查找起始位置
 	return getoffset(strsearch,substr,reval);
 }
 
 //取得get变量值
 function request(getvar){
 	//定义过程变量
 	var strRequest,offset,endpoint,returnvar
 	//注意&的妙用
 	strRequest=window.location.search;
 	strRequest="&"+strRequest.substring(1,strRequest.length);
 	//如果变量中含有=或&号,及早打发
 	if (getvar.search("=|&")!=-1)return "";
 	getvar="&"+getvar;
 	
 	//求得起始点
 	offset=getoffset(strRequest,getvar,0);
 	
 	if (offset==-1) return "";	
 	//求得结束点
 	endpoint=strRequest.indexOf("&",offset);	
 	if (endpoint==-1)endpoint=strRequest.length;
 	
 	//求得变量的返回值	
 	returnvar=strRequest.substring(offset,endpoint);
 	return returnvar;
 }
 </script>  
 
  ---- 網易之左右無人给我留言
 
 为了与更多的朋友交流,我已申请脚本技术版版卒          | 
 
 
 |