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

Javascript
javascript下操作css的float属性的特殊写法
javascript之DIV拖动类 支持在FF下拖动,调用简单
Expandable "Detail" Table Rows
用javascript实现给出的盒子的序列是否可连为一矩型
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
JS创建优美的页面滑动块效果 - Glider.js
发一个比较漂亮的选项卡动态增删的效果
可多次使用的仿126邮箱选项卡的源码
javascript仿XP关机效果的弹出窗口功能
JS控制CSS样式的方法
非常漂亮的JS代码经典广告
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
几个不错的自动收缩菜单导航效果
iframe src为图片时的高度自适应的代码
论坛转贴工具中用到的正则表达式学习正则的好例子
用javascript实现的不错的一款网页选项卡
摘自百度的图片轮换效果代码
用javascript实现旋转图片效果的代码
javascript 制作坦克大战游戏初步 图片与代码
比较简单的jquery教程 Easy Ajax with jQuery 中文版全集

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 256 ::
收藏到网摘: 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>

 

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

  缺点:值长度有限制.