JS页面间传值

原创 2012年03月07日 21:38:57

一: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打开的窗口.不能跨域.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

两个页面之间通过js进行传值

第一个页面中有两个图片,当点击的时候能在第二个页面中获得它的属性值()通过js进行传值:第一个页面:[html] 第一个页面中有两个图片,当点击的时候能在第二个页面中获得它的属性...

js 页面之间的跳转、传参以及返回上一页

js实现html 页面之间的跳转传参以及返回上一页的相关知识点 一、页面之间的跳转传参 1、在页面之间跳转的方式有两种: window.location.href=”test.html?num=...

HTML页面之间跳转传值

1.借助JQuery,通过URL拼接,从而传递数据。   jquery.params.js用于两个HTML网页之间的传值。a.html?name=waley&age=20;b.html页面则可以这样获...

js跳转页面并传值以及localStorage的用法

之前写一个页面需要跳转页面,那个页面需要这边这个页面的“跳转按钮”所执行的一系列的函数的值,我用的是 window.location.href=url; 然而这样只能实现跳转页面,并不带任何传值。...

js页面之间传参方式集合

总有一款适合你。。。 如果想了解iframe有关传值请参看之前文章:iframe跨不跨域通讯方式集合; 这篇主要是说说其他几种页面之间传值的实现: 实现一:url传值 这种传值方式就是通过在url后面...

js页面间参数传递

1传递参数的页面test01.htm     function send() {         var url = "test02.htm";  ...

JS 参数传递到底是值传递还是引用传递?

很多人,包括我,受书本知识消化不彻底的影响,认为 JS 中参数有两种传递方式:数字、字符串等按值传递;数组、对象等按地址(引用)传递。对此种观点,我们要谨慎。 var v1 = [] var...

$.cookie 跨页面传值

跨页面传值$.cookie("name","1",{expires: 7,path:'/'})

利用cookie传值

一般的前台和后台交互传值很简单,我习惯了用Ajax,但是最近遇到一个问题,前端调用后台一个方法后,需要刷新整个页面,但是这时候前台和后台方法都没有走完,之前利用JQuery获取的那些值都清空了,于是就...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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