当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 静态页面的值传递(三部曲)

HTML/XHTML教程
IE 下的只读 innerHTML
IE8下noscript标记的BUG仍然存在
HTML 5 canvas 基本语法
HTML5教程(1):HTML5的Canvas概述
Canvas教程(2):基本用法
Canvas教程(3):Drawing shapes绘制图形
Canvas教程(4):Using images应用图像
W3C推荐的 DTDs(文件类型声明)
10个最经常犯得HTML标签错误
HTML5中会被丢弃的元素和尚待解决的问题
IE6下网页制作参考:IE6的默认样式
html5来了,你准备好了吗
20个使用水彩效果的网站设计
Xhtml下不常用却很有用的标签
input标签里面的name与value的区别
img图片标签赋予alt属性是否需要
HTML small标记使用技巧
WEB标准 网页页面结构
Marquee标记在XHTML代码中该如何用
自己碰上的IE8兼容笔记

HTML/XHTML教程 中的 静态页面的值传递(三部曲)


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

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')
 *--------------- 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"));
 *--------------- getCookie(name) -----------------
 */
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr !=null) return unescape(arr); return null;
}
alert(getCookie("baobao"));
</script>