javascript静态页面传值的三种方法---静态页面值传递之URL篇

来源:互联网 发布:算法 lookup table 编辑:程序博客网 时间:2024/06/14 13:29
能过URL进行传值.把要传递的信息接在URL上.
优点:取值方便.可以跨域.缺点:值长度有限制
Post.htm
<input type="text" name="username"><input type="text" name="sex"><input type="button" value="Post"><script language="javascript" >function Post(){//单个值 Read.htm?username=baobao;//多全值 Read.htm?username=baobao&sex=male;  url = "Read.htm?username="+escape(document.all.username.value);url += "&sex=" + escape(document.all.sex.value);location.href=url;}</script>
Read.htm
<script language="javascript" >/**--------------- Read.htm -----------------* Request[key]* 功能:实现ASP的取得URL字符串,Request("AAA")* 参数:key,字符串.* 实例:alert(Request["AAA"])*--------------- Request.htm -----------------*/var url=location.search;var Request = new Object();if(url.indexOf("?")!=-1){var str = url.substr(1) //去掉?号  strs = str.split("&");for(var i=0;i<strs.length;i++){   Request[strs[i ].split("=")[0]]=unescape(strs[ i].split("=")[1]);}}alert(Request["username"])alert(Request["sex"])</script><script language="JavaScript"><!--function Request(strName){var strHref = "www.jb51.net/index.htm?a=1&b=1&c=测试测试";var intPos = strHref.indexOf("?");var strRight = strHref.substr(intPos + 1);var arrTmp = strRight.split("&");for(var i = 0; i < arrTmp.length; i++){var arrTemp = arrTmp[i ].split("=");if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];}return "";}alert(Request("a"));alert(Request("b"));alert(Request("c"));//--></script><script>String.prototype.getQuery = function(name){var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");var r = this.substr(this.indexOf("?")+1).match(reg);if (r!=null) return unescape(r[2]); return null;}var str ="www.jb51.net/index.htm?a=1&b=1&c=测试测试";alert(str.getQuery("a"));alert(str.getQuery("b"));alert(str.getQuery("c"));</script>


                                             
0 0
原创粉丝点击