JS页面间传值

来源:互联网 发布:数据平滑方法 编辑:程序博客网 时间:2024/06/17 19:41

一: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

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 群里人不说话怎么办 儿童不说话怎么办 不说话怎么办 小孩结巴怎么办 幼儿突然结巴怎么办 儿童舌头短怎么办 小孩口吃结巴怎么办 得了口吃怎么办 难发性口吃怎么办 东莞口吃严重怎么办 小孩子结巴怎么办 儿童结巴怎么办 打电话紧张结巴怎么办 孩子说话磕巴怎么办 说话紧张结巴怎么办 二岁半宝宝口臭怎么办 说话口吃怎么办 两岁半突然结巴怎么办 宝宝结巴怎么办 宝宝呕吐拉肚子怎么办 娃儿拉肚子怎么办 孩子呕吐拉肚子怎么办 两岁半宝宝呕吐怎么办 小孩反应迟钝怎么办 孩子英语听力差怎么办 孩子调皮怎么办 小朋友爱打人怎么办 小孩子打奶奶怎么办 小孩喜欢打人怎么办 小孩爱打人怎么办 孩子爱打人怎么办 孩子认字能力差怎么办 大众途观烧机油怎么办 小孩怎么办身份证 不支持婴儿票怎么办 婴儿坐飞机哭闹怎么办 坐飞机带婴儿怎么办 机场怎么办无人陪护 老人不会坐飞机怎么办 坐飞机紧张害怕怎么办 坐飞机害怕怎么办