静态页面的值传递(三部曲)
静态页面的值传递(三部曲)
发布时间:2016-12-30 来源:查字典编辑
摘要:这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm子窗口可以通过window.opener指向父窗口.这样可以访问父...

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

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

优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象.

不仅可以访问值,还可以访问父窗口的方法.值长度无限制.

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

Post.htm

<inputtype=textname=maintext>

<inputtype=buttononclick="window.open('Read.htm')"value="Open">

Read.htm

<scriptlanguage="javascript">

//window.open打开的窗口.

//利用opener指向父窗口.

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

alert(parentText);

</script>

利用Cookie.

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

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

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

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

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

缺点:值长度有限制.

Post.htm

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

<inputtype="button"onclick="setCookie('baobao',document.all.txt1.value)"value="Post">

<scriptlanguage="javascript">

functionsetCookie(name,value)

{

/*

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

*setCookie(name,value)

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

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

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

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

*/

varDays=30;//此cookie将被保存30天

varexp=newDate();

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

*/

vararr=document.cookie.match(newRegExp("(^|)"+name+"=([^;]*)(;|$)"));

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

}

alert(getCookie("baobao"));

</script>

URL篇

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

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

缺点:值长度有限制.

Post.htm

<inputtype="text"name="username">

<inputtype="text"name="sex">

<inputtype="button"onclick="Post()"value="Post">

<scriptlanguage="javascript">

functionPost()

{

//单个值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

<scriptlanguage="javascript">

/*

*---------------Read.htm-----------------

*Request[key]

*功能:实现ASP的取得URL字符串,Request("AAA")

*参数:key,字符串.

*实例:alert(Request["AAA"])

*---------------Request.htm-----------------

*/

varurl=location.search;

varRequest=newObject();

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>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类