在WEB页面中,我们实现页面跳转的方法通常是用LINK,BUTTON LINK ,IMG LINK等等,由用户点击某处,然后直接由浏览器帮我们跳转。
但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。
下面是具体的做法:
一:跳转到新页面,并且是在新窗口中打开时:
代码如下:
function gogogo()
{
//do someghing here...
window.open("test2.html");
}
window是一个javascript对象,可以用它的open方法,需要注意的是,如果这个页面不是一相相对路径,那么要加http://,比如:
代码如下:
function gogogo()
{
window.open( "http://www.google.com");
}
二:就在本页面窗口中跳转:
代码如下:
function totest2()
{
window.location.assign( "test2.html");
}
如果直接使用location.assgin()也可以,但是window.location.assign()好像更合理一些,当前窗口的location对象的assign()方法。
另外,location对象还有一个方法replace()也可以做页面跳转,它跟assign()方法的区别在于:
replace() 方法不会在 History 对象中生成一个新的纪录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前纪录。
下面学习如何在页面跳转的时候进行值的传递,当使用window.open()打开新页面时,浏览器会认为这两个窗口之间有一种打开与被打开的关系,所以在被打开的新窗口中在当前窗口的window对象中有一个window.opener 属性,这个值里面放着打开窗口的引用,所以可以获得这个值,进而引用上一页面内的对象的值,示例如下:
代码如下:
<html>
<head>
<title>test1</title>
<script type="text/javascript">
function totest2()
{
window.open("test2.html");
}
</script>
</head>
<body>
<label id="label1" >page test1</label>
<br><br>
<input type="text" id="tx1">
<input type="button" id="bt2" value="to test2" onclick="totest2()">
</body>
</html>
代码如下:
<html>
<head>
<title>test2</title>
<script type="text/javascript">
function getvalue()
{
var pare=window.opener;
if(pare!=null)
{
var what=pare.document.getElementById("tx1");
if(what!=null)
{
alert(what.value);
}
}
}
</script>
</head>
<body>
<label id="label1" >page test2</label>
<br><br>
<input type="button" onclick="getvalue()" value="get test1 page value">
</body>
</html>
这两个页面,可以从后一个页面中获得前一个页面中的值,但是我感觉好像不大实用。。。。。。
优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象.
不仅可以访问值,还可以访问父窗口的方法.值长度无限制.
缺点:两窗口要存在着关系.就是利用window.open打开的窗口.不能跨域.
下面看看另一种方法,使用URL附加字段在页面跳转间传值,前面用XMLHttpRequest时,用到过这种方式。简单原始的示例如下:
代码如下:
<html>
<head>
<title>test3</title>
<script type="text/javascript">
function totest2()
{
var parm1=document.getElementById("tx1").value;
var parm2=document.getElementById("tx2").value;
var myurl="test4.html"+"?"+"parm1="+parm1+"&parm2="+parm2;
window.location.assign(myurl);
}
</script>
</head>
<body>
<label id="label1" >page test3</label>
<br><br>
<input type="text" id="tx1">
<input type="text" id="tx2">
<input type="button" id="bt2" value="to test2" onclick="totest2()">
</body>
</html>
代码如下:
<html>
<head>
<title>test1</title>
<script type="text/javascript">
function getparm1()
{
var url=location.href;
var tmp1=url.split("?")[1];
var tmp2=tmp1.split("&")[0];
var tmp3=tmp2.split("=")[1];
var parm1=tmp3;
alert(parm1);
}
function getparm2()
{
var url=location.href;
var tmp1=url.split("?")[1];
var tmp2=tmp1.split("&")[1];
var tmp3=tmp2.split("=")[1];
var parm2=tmp3;
alert(parm2);
}
</script>
</head>
<body>
<label id="label1" >page test4</label>
<br><br>
<input type="button" id="bt1" value="get parm1" onclick="getparm1()">
<br><br>
<input type="button" id="bt2" value="get parm1" onclick="getparm2()">
</body>
</html>
我记得前面在看XMLHttpRequest的时候有一个QueryString对象可以直接从URL参数中取值,我不清楚这儿可不可以直接用,试了一下好像不行。
最后一种页面间传值的方法就是COOKIE共享,这个比较容易理解,由一个页面在客户端机器放置一个COOKIE文件,下一个页面访问的时候,直接读取这里面的值就OK了
详细出处参考:http://www.jb51.net/article/23425.htm
分享到:
相关推荐
总结来说,本文档详细介绍了几种基于JavaScript在页面间传递参数的实现方法,适用于那些希望减少服务器交互而采用前端技术来增强用户体验的场景。这些方法包括通过URL重定向传递参数、使用隐藏表单字段传递参数以及...
在静态页面HTML中实现页面跳转的同时传递参数,是一种常见的Web开发需求。本文将详细讲解如何利用JavaScript处理URL中的查询参数,以及如何在目标页面中接收这些参数。通过实例演示,我们会学习到如何使用JavaScript...
1. **利用URL参数传递**:最简单的页面间传值方法是通过URL查询字符串。在超链接或表单提交中,我们可以把参数附加到URL后面,例如`跳转</a>`。在目标页面(child.html)中,可以通过`window.location.search`获取这些...
以上介绍了几种常用的JSP页面传值方式,包括使用表单、URL重写、JavaScript动态改变表单行为、JSP内置对象和标签库以及Cookie和Session。不同的场景下可以选择不同的方法来满足需求。在实际应用中,开发者还需要考虑...
JavaScript跨网页传值是Web开发中的常见需求,它允许用户在不同的HTML页面间传递数据,无需依赖服务器端技术如JSP中的session。本教程将详细讲解如何实现这一功能,主要涉及JavaScript的基础知识以及一些实用技巧。 ...
在网页开发中,静态页跳转传值是一个常见的需求,特别是在HTML、CSS和JavaScript构建的简单网站中。静态页面通常指的是不与服务器交互的...解压并研究这些文件,将有助于你更好地理解和应用静态页跳转传值的各种方法。
在IT行业中,页面之间的...总结,页面传值是Web开发中的重要技能,理解和掌握各种方法可以帮助我们更有效地构建多页面应用。在实际应用中,应根据具体需求选择合适的方法,考虑到数据的安全性、效率和兼容性等因素。
以下将详细介绍五种跨页面传值的基本方法。 1. **URL参数传递**:这是最简单的方法,通过在链接的URL后面添加问号(?)和参数对来实现。例如,`http://example.com/page2.html?name=John&age=30`。在页面2中,可以...
页面间传值是Web开发中常见的一种需求,特别是在构建多页面应用时。在这个场景下,我们需要将数据从一个页面传递到另一个页面,以便在新打开的窗口中展示或处理这些数据。以下是对这个主题的详细解释,以及如何利用...
静态页面之间的传值是一个常见的需求,例如在导航链接、表单提交或页面间跳转时。在没有服务器端编程语言支持的情况下,JavaScript成为了实现这一目标的关键工具。主要方法有以下几种: 1. **URL参数**:最直观的...
`<jsp:forward page="" />` 是一种基于JSP的标签库方法,用于实现页面间的跳转。它的工作原理类似于 `RequestDispatcher.forward()`,但在实现上更为简洁。 **实现原理:** `<jsp:forward>` 标签本质上是调用 `...
本文将基于“页面各种跳转总结”的主题,对不同类型的页面跳转进行深入探讨,并结合“网站域名修改”、“页面传值”等相关知识点,帮助读者更全面地理解这些技术的应用场景、原理以及实现方式。 ### 一、页面跳转的...
本文将详细介绍一种利用JavaScript来实现HTML页面跳转传值的方法,并提供具体的代码示例。 #### 二、基础知识回顾 在深入探讨具体技巧之前,我们先来回顾一下相关的基础知识。 ##### 1. URL 参数 URL参数是指在URL...
#### JSP页面间传值方法概述 在进行Web开发时,尤其是在使用Java Server Pages(JSP)技术的过程中,页面间的参数传递是一项非常重要的技能。它不仅涉及到基本的HTML知识,还涉及到Java语言以及HTTP协议的理解。...
根据提供的文件信息,本文将详细解析C#中的跨页传值技术,并重点介绍几种常见的实现方式,包括利用JavaScript、GET请求、Application对象以及Session对象等方法。这些技术在Web开发中非常实用,尤其是在ASP.NET中。 ...
HTML页面传值是Web开发中的基础技能,主要涉及在不同HTML页面之间或者同一页面内传递数据的方法。在本文中,我们将深入探讨几种常见的HTML页面传值技术,包括URL参数、表单提交、cookies、sessionStorage和...
总结来说,静态页面间的传值涉及到各种浏览器提供的API和技术,选择哪种方法取决于数据量、安全性、兼容性以及特定场景的需求。开发者应根据实际情况权衡这些因素,选择最适合的方法。在实际项目中,结合使用多种...