如何利用JavaScript 在页面间传值

简介:

问题场景如下:

在 a.html 页面中,<form> 的 onsubmit 事件调用一个方法 foo( ),打开 b.html 页面的同时给 b.html 传递参数。方法 foo( ) 中需要传递变量参数到 b.html 页面,在 b.html 页面接受参数值,但不能使用服务器端技术。

解决代码如下:

复制代码
a.html
< html >
< head >
< title > demo </ title >
< meta name ="Author" content ="xugang" />
< script type ="text/javascript" >
function foo(){

var a = " abc " ; // a为变量值
var str = " b.html?id= " + a + " ; " ;

// alert(document.frm.action);

// 方案一(无效)
// document.frm.action = str;

// 方案二(无效)
// window.location.href = str;

// 方案三(有效)
window.location.replace(str);
return false ;
}
</ script >
</ head >
< body >
< FORM name ="frm" method ="get" onsubmit = "return foo()" >
< INPUT TYPE ="SUBMIT" />
</ FORM >
</ body >
</ html >
复制代码

注意:必须 b.html 页面事先存在即可。

b.html 获得参数值的代码如下:

复制代码
b.html 部分代码
var getQueryString = function(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return r[2]; return "";
}
复制代码

补记:

================================================================================================

今天一早起来,居然从睡梦中找到了更好的解决办法。

看来睡觉是灵感之源,呵呵 ^_^

myjs.js 代码:

复制代码
myjs.js代码
function foo(){

var str = "abc";
// document.forms[0].hid.value = str;

var frm = window.event.srcElement;
frm.hid.value = str;
return true;
}
复制代码

a.html 代码:

复制代码
a.html
< html >
< head >
< title > demo </ title >
< meta name ="Author" content ="xugang" />
< script src ="myjs.js" ></ script >
</ head >
< body >
< FORM name ="frm" METHOD ="get" ACTION ="b.html" onsubmit ="return foo()" >
< INPUT TYPE ="hidden" id ="hid" name ="hid" >
< INPUT TYPE ="submit" value ="提交" >
</ FORM >
</ body >
</ html >
复制代码

注意:给 b.html 页面传值时,b.html 页面必须事先已存在!

b.html 代码:

复制代码
b.html
< HTML >
< HEAD >
< TITLE > New Document </ TITLE >
</ HEAD >
< BODY >
< SCRIPT LANGUAGE ="JavaScript" >
document.write(decodeURIComponent(location.search.substr(
3 )));
</ SCRIPT >
</ BODY >
</ HTML >



本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2010/07/22/1783239.html,如需转载请自行联系原作者
相关文章
|
3月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
49 5
|
2月前
|
前端开发 JavaScript API
前端JS读取文件内容并展示到页面上
前端JavaScript使用FileReader API读取文件内容,支持文本类型文件。在文件读取成功后,可以通过onload事件处理函数获取文件内容,然后展示到页面上。
86 2
前端JS读取文件内容并展示到页面上
|
1月前
|
Web App开发 前端开发 JavaScript
JavaScript动态渲染页面爬取——Selenium的使用(一)
JavaScript动态渲染页面爬取——Selenium的使用(一)
|
1月前
|
Web App开发 数据采集 JavaScript
JavaScript动态渲染页面爬取——Selenium的使用(二)
JavaScript动态渲染页面爬取——Selenium的使用(二)
|
2月前
|
JavaScript 前端开发
js 回到页面顶部
本文提供了一个JavaScript函数`scrollToTop`,用于平滑滚动页面回到顶部。该函数利用`requestAnimationFrame`和`window.scrollTo`方法逐步减少滚动条距离,直到页面完全回到顶部。
31 1
|
1月前
|
JavaScript 前端开发 API
JavaScript全屏,监听页面是否全屏
JavaScript全屏,监听页面是否全屏
59 0
|
1月前
|
前端开发 JavaScript
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
|
1月前
|
存储 JSON JavaScript
JavaScript动态渲染页面爬取——Pyppeteer爬取实战
JavaScript动态渲染页面爬取——Pyppeteer爬取实战
|
2月前
|
JavaScript 前端开发
js怎么定位不同的页面元素
在JavaScript中,有多种方法定位和选择页面元素。
|
2月前
|
JavaScript 前端开发
[收藏]用JavaScript让弹出页面以最小化的形式出现在状态栏中
[收藏]用JavaScript让弹出页面以最小化的形式出现在状态栏中