发信人: 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>
---- 網易之左右無人给我留言
为了与更多的朋友交流,我已申请脚本技术版版卒 |
|