JavaScript的静态页面值传递:URL篇

2012 年 11 月 18 日7460

JavaScript的静态页面值传递:URL篇

CND8学院  发布日期:2012年11月17日


  网页制作Webjx文章简介:本文详细介绍JavaScript静态页面值传递之URL篇
  
  本文详细介绍JavaScript静态页面值传递之URL篇
  
  URL篇
  
  能过URL进行传值.把要传递的信息接在URL上.
  
  Post.htm
  
  <inputtype="text"name="username">
  
  <inputtype="text"name="sex">
  
  <inputtype="button"value="Post">
  
  <scriptlanguage="javascript">
  
  functionPost()
  
  {
  
  //单个值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
  
  <scriptlanguage="javascript">
  
  /*
  
  *---------------Read.htm-----------------
  
  *Request[key]
  
  *功能:实现ASP的取得URL字符串,Request("AAA")
  
  *参数:key,字符串.
  
  *实例:alert(Request["AAA"])
  
  *---------------Request.htm-----------------
  
  */
  
  varurl=location.search;
  
  varRequest=newObject();
  
  if(url.indexOf("?")!=-1)
  
  {
  
  varstr=url.substr(1)//去掉?号
  
  strs=str.split("&");
  
  for(vari=0;i<strs.length;i++)
  
  {
  
  Request[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
  
  }
  
  }
  
  alert(Request["username"])
  
  alert(Request["sex"])
  
  </script><scriptlanguage="JavaScript">
  
  <!--
  
  functionRequest(strName)
  
  {
  
  varstrHref="http://www.zjjv.com//index.htm?a=1&b=1&c=测试测试";
  
  varintPos=strHref.indexOf("?");
  
  varstrRight=strHref.substr(intPos+1);
  
  vararrTmp=strRight.split("&");
  
  for(vari=0;i<arrTmp.length;i++)
  
  {
  
  vararrTemp=arrTmp[i].split("=");
  
  if(arrTemp[0].toUpperCase()==strName.toUpperCase())returnarrTemp[1];
  
  }
  
  return"";
  
  }
  
  alert(Request("a"));
  
  alert(Request("b"));
  
  alert(Request("c"));
  
  //-->
  
  </script>
  
  <script>
  
  String.prototype.getQuery=function(name)
  
  {
  
  varreg=newRegExp("(^|&)"+name+"=([^&]*)(&|$)");
  
  varr=this.substr(this.indexOf("?")+1).match(reg);
  
  if(r!=null)returnunescape(r[2]);returnnull;
  
  }
  
  varstr="http://www.zjjv.com//index.htm?a=1&b=1&c=测试测试";
  
  alert(str.getQuery("a"));
  
  alert(str.getQuery("b"));
  
  alert(str.getQuery("c"));
  
  </script>
  
  优点:取值方便.可以跨域.
  
  缺点:值长度有限制.
  
  

相关文章:

0 0