当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript静态页面值传递:URL篇

Javascript
在Z-Blog中运行代码[html][/html](纯JS版)
统一接口:为FireFox添加IE的方法和属性的js代码
网页自动刷新,不产生嗒嗒声的一个解决方法
驱动事件的addEvent.js代码
[原创]提供复制本站内容时出现,该文章转自IT学习网等字样的js代码
CSDN轮换广告图片轮换效果
一段多浏览器的"复制到剪贴板"javascript代码
Javascript中的常见排序算法
JS Common 2 之比较常用到的函数
非正则实现的只能输入汉字的输入框
CSDN上快速结贴的方法,JS实现
js eval木马代码,以后再分析吧
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
一个不错的可以检测多中浏览器的函数和其它功能
状态栏显示欢迎信息的脚本特效
关于文本限制字数的js代码
在你的网页中嵌入外部网页的方法
在IE中调用javascript打开Excel的代码(downmoon原作)
javascript实现动态增加删除表格行(兼容IE/FF)
javascript中获取选中对象的类型

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 339 ::
收藏到网摘: n/a

本文详细介绍JavaScript静态页面值传递之URL篇

  URL篇

  能过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.abc.com/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.abc.com/index.htm?a=1&b=1&c=测试测试";
alert(str.getQuery("a"));
alert(str.getQuery("b"));
alert(str.getQuery("c"));
</script>

 

  优点:取值方便.可以跨域.

  缺点:值长度有限制.