一:JavaScript静态页面值传递之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)

{

  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><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)

{

  varreg = new RegExp("(^|&)"+ name+"=([^&]*)(&|$)");

  varr = 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>

优点:取值方便.可以跨域.
缺点:值长度有限制

二:JavaScript静态页面值传递之Cookie篇

Cookie是浏览器存储少量命名数据.

它与某个特定的网页或网站关联在一起.

Cookie用来给浏览器提供内存,

以便脚本和服务器程序可以在一个页面中使用另一个页面的输入数据.

参数传出页面Post.htm—>

<inputtype="text" name="txt1">

<inputtype="button" value="Post">

<scriptlanguage="javascript" >

functionsetCookie(name,value)

{

/*

*---------------setCookie(name,value) -----------------

*setCookie(name,value)

* 功能:设置得变量name的值

* 参数:name,字符串;value,字符串.

* 实例:setCookie('username','baobao')

*---------------setCookie(name,value) -----------------

*/

  var Days = 30; //此 cookie 将被保存 30 天

  var exp = new Date();

  exp.setTime(exp.getTime() +Days*24*60*60*1000);

  document.cookie = name +"="+ escape (value) + ";expires=" + exp.toGMTString();

  location.href = "Read.htm";//接收页面.

}

</script>

参数接收页面Read.htm—>

<scriptlanguage="javascript" >

functiongetCookie(name)

{

/*

*---------------getCookie(name) -----------------

*getCookie(name)

* 功能:取得变量name的值

* 参数:name,字符串.

* 实例:alert(getCookie("baobao"));

*---------------getCookie(name) -----------------

*/

  var arr =document.cookie.match(new RegExp("(^|)"+name+"=([^;]*)(;|$)"));

  if(arr !=null) returnunescape(arr[2]); return null;

}

alert(getCookie("baobao"));

</script>

优点:可以在同源内的任意网页内访问.生命期可以设置.
缺点:值长度有限制.

三:JavaScript静态页面值传递之Window.open篇

这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm

子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.

<inputtype=text name=maintext>

<inputtype=button value="Open">

Read.htm

<scriptlanguage="javascript" >

//window.open打开的窗口.

//利用opener指向父窗口.

varparentText = window.opener.document.all.maintext.value;

alert(parentText);

</script>

优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象.不仅可以访问值,还可以访问父窗口的方法.值长度无限制.
缺点:两窗口要存在着关系.就是利用window.open打开的窗口.不能跨域.

原文地址:http://blog.csdn.net/qq380107165/article/details/7330612

(转)JS页面间传值的更多相关文章

  1. JS页面间传值

    一:JavaScript静态页面值传递之URL篇 能过URL进行传值.把要传递的信息接在URL上. 例子: 参数传出页面Post.htm—>   <input type="tex ...

  2. iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)

    iOS页面间传值实现方法:1.通过设置属性,实现页面间传值:2.委托delegate方式:3.通知notification方式:4.block方式:5.UserDefault或者文件方式:6.单例模式 ...

  3. iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例)

    iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式:2.通知notific ...

  4. 【转】iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)-- 不错

    原文网址:http://www.cnblogs.com/JuneWang/p/3850859.html iOS页面间传值的方式(NSUserDefault/Delegate/NSNotificatio ...

  5. iOS 页面间传值 之 单例传值 , block 传值

    ios 页面间传值有许多,前边已经分享过属性传值和代理传值,今天主要说一下单例传值和 block 传值 单例传值:单例模式一种常用的开发的模式,单例因为在整个程序中无论在何时初始化对象,获取到的都是同 ...

  6. iOS 页面间传值 之 属性传值,代理传值

    手机 APP 运行,不同页面间传值是必不可少,传值的方式有很多(方法传值,属性传值,代理传值,单例传值) ,这里主要总结下属性传值和代理传值. 属性传值:属性传值是最简单,也是最常见的一种传值方式,但 ...

  7. iOS页面间传值的方式 (Delegate/NSNotification/Block/NSUserDefault/单例)

    iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)   iOS页面间传值的方式(NSUserDefault/Delegate/NSN ...

  8. iOS页面间传值的五种方式总结(Delegate/NSNotification/Block/NSUserDefault/单例)

    iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例) iOS页面间传值的方式(NSUserDefault/Delegate/NSNot ...

  9. mui框架如何实现页面间传值

    mui框架如何实现页面间传值 我的传值 listDetail = '<li class="mui-table-view-cell mui-media>">< ...

随机推荐

  1. poj 3304 Segments(计算几何基础)

      Segments Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11593   Accepted: 3657 Descr ...

  2. Poj 3695-Rectangles 矩形切割

    Rectangles Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3846   Accepted: 1124 Descri ...

  3. Yii中Ajax的使用,如收藏功能

    view中 <?php $cs=Yii::app()->clientScript; $cs->registerScriptFile('http://ajax.googleapis.c ...

  4. VirtualBox上Ubuntu 共享文件夹

    1. virtualbox 菜单栏中设备-->共享文件夹,添加一个共享文件夹,比如共享文件夹路径是D:/share,共享文件夹名称是share. 2. 进入虚拟Ubuntu,在命令行终端输入: ...

  5. IAR右键无法跳转到定义 的解决方法

    用IAR编译程序,有时候编译通过了,但是右键无法GO TO Definition  解决方法有两个: 第一.Tools -> Option  -> Project 把Generate br ...

  6. HTML5到底能给企业带来些什么?

    一.改变企业网络广告的模式与分布 广告是企业网络营销的主要方式之一.十几年来,无论是展示还是互动,基本被Adobe Flash所主宰.然而,HTML5网页的多媒体特性.三维.图形及特效,超炫的浏览体验 ...

  7. 关于PreferenceActivity的使用和一些问题的解决(自己定义Title和取值)

    android的Setting往往用PreferenceActivity来写的 我们在建立layout文件: <PreferenceScreen xmlns:android="http ...

  8. 管理http服务的脚本

    因为老是须要又一次安装系统,重一次都要又一次设置http服务的启动脚本.麻烦,所以这一次就把脚本备份出来. httpd for Ubuntu system: nginx + php-fpm #! /b ...

  9. GCC扩展(转--对看kernel代码有帮助

    http://my.oschina.net/senmole/blog?catalog=153878 Linux Kernel的代码,上次就发现一个结构体的定义形式看不懂,后来才知道它用的不是标准的AN ...

  10. windows修改mysql默认字符集不成功

    今天下午弄了半天,终于把mysql的默认字符集弄成了, 按照网上的说法,什么修改mysql下面的my.ini文件,把参数设置成utf-8,我反复操作,结果都是不成功,后来我把mysql5.0卸载了,网 ...