静态html页面传递参数,javascript静态页面传值的三种方法分享

一:JavaScript静态页面值传递之URL篇能过URL进行传值.把要传递的信息接在URL上.Post.htm

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;

}

Read.htm

/*

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

{

Request[strs[i ].split("=")[0]]=unescape(strs[ i].split("=")[1]);

}

}

alert(Request["username"])

alert(Request["sex"])

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.jb51.net/index.htm?a=1&b=1&c=测试测试";

alert(str.getQuery("a"));

alert(str.getQuery("b"));

alert(str.getQuery("c"));

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

缺点:值长度有限制

二:JavaScript静态页面值传递之Cookie篇Cookie是浏览器存储少量命名数据.

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

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

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

Post.htm

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"; //接收页面.

}

Read.htm

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[2]); return null;

}

alert(getCookie("baobao"));

优点:可以在同源内的任意网页内访问.生命期可以设置.

缺点:值长度有限制.

三:JavaScript静态页面值传递之Window.open篇这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm

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

Post.htm

Read.htm

//window.open打开的窗口.

//利用opener指向父窗口.

var parentText = window.opener.document.all.maintext.value;

alert(parentText);

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值