javascript 通过地址栏实现页面间传值(1)

来源:互联网 发布:网络作家如何挣钱 编辑:程序博客网 时间:2024/06/17 07:03

我们在进行网页开发的时候,有时候需要从一个界面打开另一个页面,并将当前页面中的某个值传递到新打开的页面当中。通常的做法都是先将值传递给后台程序,再通过后台程序打开新页面,并将所值传递给新页面。当然如果所传递的值不需要经过后台,我们可以通过 javascript,直接打开新页面,并将值传递过去。

首先,我们需要新建两个html网页,一个叫做post.html ,另一个叫做 read.html 。

在 post.html 中,将所需传递的值通过 escape() 方法附加到地址栏:

<html><head>    <meta charset="GBK"/>    <title></title>    <script>        function post(){            var url = "read.html?name="+escape(document.all.name.value);            url +="&password="+escape(document.all.password.value);            window.location = url ;        };    </script></head><body>姓名:<input type="text" name="name"/><br/>密码:<input type="text" name="password"/><br/><input type="button" value="post" onClick="post()"/></body></html>

在 read.html 中接收传过来的值,并显示在页面上:

<html><head>    <title></title>    <script>        window.onload = function(){            var url = window.location.search;            var request = new Object();            if(url.indexOf("?")!=-1){  <!--判断是否存在,如果返回-1,则表明不存在-->                var str = url.substr(1);   <!--从第1个字符开始截取-->                var strs = str.split("&");<!--表示以“&’”为分隔符进行分隔,返回的是一个数组-->                for(var i=0;i<strs.length;i++){                    request[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);                }            }            document.getElementById("read").innerHTML="name:"+request["name"]+"password:"+request["password"];        };    </script></head><body><div id="read"></div></body></html>


原创粉丝点击