静态页面的值传递(三部曲).

原创 2004年07月01日 10:47:00

静态页面的值传递(三部曲).

作者:wanghr100(灰豆宝宝.net)

 Window.open篇

这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm
子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.

优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象.
       不仅可以访问值,还可以访问父窗口的方法.值长度无限制.

缺点:两窗口要存在着关系.就是利用window.open打开的窗口.不能跨域.
      

Post.htm

<input type=text name=maintext>
<input type=button onclick="window.open('Read.htm')" value="Open">

Read.htm

<script language="javascript" >
//window.open打开的窗口.
//利用opener指向父窗口.

var parentText = window.opener.document.all.maintext.value;
alert(parentText);
</script>


利用Cookie.

Cookie是浏览器存储少量命名数据.
它与某个特定的网页或网站关联在一起.
Cookie用来给浏览器提供内存,
以便脚本和服务器程序可以在一个页面中使用另一个页面的输入数据.

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

Post.htm

<input type="text" name="txt1">
<input type="button" onclick="setCookie('baobao',document.all.txt1.value)" value="Post">
<script language="javascript" >
function setCookie(name,value)
{
/*
 *--------------- setCookie(name,value) -----------------
 * setCookie(name,value)
 * 功能:设置得变量name的值
 * 参数:name,字符串;value,字符串.
 * 实例:setCookie('username','baobao')
 * update:2004-6-11 10:30
 *--------------- 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

<script language="javascript" >
function getCookie(name)
{
/*
 *--------------- getCookie(name) -----------------
 * getCookie(name)
 * 功能:取得变量name的值
 * 参数:name,字符串.
 * 实例:alert(getCookie("baobao"));
 * update:2004-6-11 10:30
 *--------------- getCookie(name) -----------------
 */
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr !=null) return unescape(arr[2]); return null;
}
alert(getCookie("baobao"));
</script>


 URL篇

能过URL进行传值.把要传递的信息接在URL上.

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

Post.htm

<input type="text" name="username">
<input type="text" name="sex">
<input type="button" onclick="Post()" 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"])
 * author:wanghr100(灰豆宝宝.net)
 * update:2004-6-11 10:30
 *--------------- 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>

一:JavaScript静态页面值传递之URL篇

一:JavaScript静态页面值传递之URL篇 能过URL进行传值.把要传递的信息接在URL上. 例子: 参数传出页面Post.htm—>   ...
  • small_rice_
  • small_rice_
  • 2014年03月14日 13:27
  • 770

JavaScript静态页面值传递之Window.open篇 【转】

 Window.open篇   这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm   子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.   Po...
  • snow_online
  • snow_online
  • 2009年10月13日 11:16
  • 442

javascript静态页面传值的三种方法---JavaScript静态页面值传递之Window.open篇

本文转载至:http://www.jb51.net/article/43106.htm
  • u013131203
  • u013131203
  • 2016年12月30日 21:19
  • 625

静态页面的值传递

这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.Post.htmRead.htm//window...
  • phphot
  • phphot
  • 2007年11月29日 12:51
  • 729

静态页面的值传递[转]

这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.优点:取值方便.只要window.opener指...
  • hcom
  • hcom
  • 2005年04月23日 20:19
  • 787

静态页面的值传递

这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm 子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象. 优点:取值方便.只要window.ope...
  • itflockmaster
  • itflockmaster
  • 2007年09月14日 22:37
  • 306

html静态页面传递参数-利用JavaScript方法实现静态

利用JavaScript方法实现静态html页面参数传递 原理是应用获得地址栏字串,进行分析。    aa.htm是参数输渗入渗出界面    bb.htm是参数接收处理界面    a...
  • smeyou
  • smeyou
  • 2012年11月19日 11:55
  • 5919

Android自定义控件三部曲

Android自定义控件 一、自定义控件三部曲之动画篇 1、《自定义控件三部曲之动画篇(一)——alpha、scale、translate、rotate、set的xml属性及用法》 2、《自定义控...
  • keen_zuxwang
  • keen_zuxwang
  • 2017年07月05日 17:22
  • 259

认知三部曲

把看的三本书打包做个记录,一本是公司入职时推荐的《高效能人士的七个习惯》,另两本分别是《把时间当做朋友》和《精进》。我把它们合起来称作“认知三部曲”,因为它们都有一个显著的共同点,就是能提供给读者很多...
  • longxuekun1992
  • longxuekun1992
  • 2016年11月13日 10:45
  • 1525

程序员三部曲之二——不作35岁的程序员

作者:摩西2000   在中国,程序员不能超过35岁,似乎已经是不争的事实,软件开发工作就是青春饭,顶多靠毕业这十年的时间,超过这个年龄,要不成功跃身成为管理者,要不转行进入其他领域,好像再没有更好的...
  • wnss8888
  • wnss8888
  • 2006年10月11日 12:18
  • 472
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:静态页面的值传递(三部曲).
举报原因:
原因补充:

(最多只允许输入30个字)