静态页面的值传递

作者: 关于计算机  发布:2019-09-23

这两窗口之间存在着关系.父窗口parent.htm张开子窗口son.htm
子窗口能够因此window.opener指向父窗口.那样能够访问父窗口的对象.

亮点:取值方便.只要window.opener指向父窗口,就足以访问具有对象.
       不只好够访谈值,还足以访谈父窗口的方法.值长度Infiniti制.
破绽:两窗口要设有着关系.就是选取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[2]); return null;
}
alert(getCookie("baobao"));
</script>

 URL篇

能过ULANDL进行传值.把要传送的音信接在U昂CoraL上.

优点:取值方便.能够跨域.
缺欠:值长度有限制.

Post.htm

<input type="text" name="username">
<input type="text" name="sex">
<input type="button" onclick="Post()" 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)
{
    var str = url.substr(1)  //去掉?号
    strs = str.split("&");
    for(var i=0;i<strs.length;i++)
    {
        Request[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
    }
}
alert(Request["username"])
alert(Request["sex"])
</script>

你或然感兴趣的作品:

  • 哪些将JS的变量值传递给ASP变量
  • JavaScript传递变量: 值传递?援用传递?
  • JSP与JS交互难题 值传递
  • vbscript 能够按援引传递参数吗?
  • PHP数组传递是值传递而非援用传递概念勘误

本文由贝博体育app发布于关于计算机,转载请注明出处:静态页面的值传递

关键词:

上一篇:没有了
下一篇:没有了