JS实现HTML静态页传值的方法

JS实现HTML静态页传值的方法

作者:前端开发-武方博 发布:2012-10-29 分类:javascript 阅读:8,735次

此处使用JS方式实现静态页之间值传递,其实很简单,废话不多说,见代码,先看index.html页代码,如下:

在body标签之间 加此行代码

<form action=”a.html?d1=123&d2=你好” method=”post” name=”f1″ id=”f1″>
<input type=”submit” name=”s1″ id=”s1″ value=”提交”/>
</form>

然后,我我们新建a.html新页,同样在body标签之间加此行代码,如下:

<script type=”text/javascript”>
var tmpArr;
var QueryString;
var URL = document.location.toString();
if(URL.lastIndexOf(“?”)!=-1){
QueryString= URL.substring(URL.lastIndexOf(“?”)+1,URL.length);
tmpArr=QueryString.split(“&”);
for (i=0;i<=tmpArr.length – 1;i++) {
document.write(“参数为:” + tmpArr[i] + “<br/>”);
}
}

else{
QueryString = “”;
}
</script>

一些其它的JS静态页传值方法和实例:

一: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)
{
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><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)
{
var reg = new RegExp(“(^|&)”+ name +”=([^&]*)(&|$)”);
var r = 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—>

<input type=”text” name=”txt1″>
<input type=”button” 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>

优点:可以在同源内的任意网页内访问.生命期可以设置.
缺点:值长度有限制.
三:JavaScript静态页面值传递之Window.open篇
这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm
子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.

<input type=text name=maintext>
<input type=button value=”Open”>
Read.htm
<script language=”javascript” >
//window.open打开的窗口.
//利用opener指向父窗口.
var parentText = window.opener.document.all.maintext.value;
alert(parentText);
</script>

优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象.不仅可以访问值,还可以访问父窗口的方法.值长度无限制.
缺点:两窗口要存在着关系.就是利用window.open打开的窗口.不能跨域.

转载请注明:JS实现HTML静态页传值的方法 - 前端开发-武方博

时间: 2024-12-27 22:46:32

JS实现HTML静态页传值的方法的相关文章

基于PHP生成静态页的实现方法

t1.php 复制代码 代码如下: <?php// 方法一根据模版生成静态页面// replaceTemplateString函数用于替换模板中指定字符串function replaceTemplateString($templateString) {    // 用来替换的变量    $title = "文章标题";    $body = "这里是文章主体";    // 替换模板 中指定字符串    $showString = str_replace (

js返回上一页的实现方法

以前在提交表单的时候,如果提交出错返回的时候信息内容全没了,我不知道要怎么保存,就开始了那种最愚蠢的做法,将填写的数据设置到session中,让后取出来用,不过没有试成功,总是有错,无意之中在我那本js的资料书里看到了javascript:history.go(-1);的方法,呵呵,尝试了一次,真的实现了数据的保留总结一下.有时间的话可以好好研究一下. 下面是常用代码: <a href="<a href="javascript :history.back(-1)"

关于js返回上一页的实现方法

以前在提交表单的时候,如果提交出错返回的时候信息内容全没了,我不知道要怎么保存,就开始了那种最愚蠢的做法,将填写的数据设置到session中,让后取出来用,不过没有试成功,总是有错,无意之中在我那本js的资料书里看到了javascript:history.go(-1);的方法,呵呵,尝试了一次,真的实现了数据的保留总结一下.有时间的话可以好好研究一下. 下面是常用代码: <a href="<a href="javascript :history.back(-1)"

静态页面表单中js验证

笔记: 1. onblur事件:onblur 事件会在对象失去焦点时发生.http://www.w3school.com.cn/jsref/event_onblur.asp onkeyup事件:onkeyup 事件会在键盘按键被松开时发生.http://www.w3school.com.cn/jsref/event_onkeyup.asp 这两者事件的发生机制截然不同,在用js对表单进行验证的时候,建议大家,尽量用onkeyup,因为交互性好,能够实时反馈用户输入的有效性: 2. js中空字符串

javascript HTML静态页面传值的四种方法

一:JavaScript静态页面值传递之URL篇能过URL进行传值.把要传递的信息接在URL上.Post.htm 1 代码如下: 2 3 <input type="text" name="username"> 4 <input type="text" name="sex"> 5 <input type="button" value="Post"> 6

js获取url传值的方法

这篇文章主要介绍了js获取url传值的方法,实例分析了字符串分割与正则分析两种方法,并补充了一个基于正则匹配实现的js获取url的get传值函数,需要的朋友可以参考下 js获取url参数值: index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&...... 静态html文件js读取url参数 根据获取html的参数值控制html页面输出 一.字符串分割分析法 这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相

js返回上一页并刷新的多种方法

js返回上一页并刷新的几种方法.参考链接:http://www.jbxue.com/article/11230.html <a href="javascript:history.go(-1)">返回上一页</a><a href="javascript:location.reload()">刷新当前页面</a><a href="javascript:" onclick="history

ThinkPHP生成静态页buildHtml方法

原来ThinkPHP自带了生成静态页的函数buildHtml,使用起来很方便!最新的手册里没写这个方法,向大家介绍一下. PHP 1 2 3 4 5 6 7 8 9 10 11 protected function buildHtml($htmlfile='',$htmlpath='',$templateFile='') { $content = $this->fetch($templateFile); $htmlpath   = !empty($htmlpath)?$htmlpath:HTML

js 返回前一页并刷新页面方法

[导读] 要返回上一页再刷新页面我们用到最多的是在像php,asp,jsp,asp.net中,下面我来给大家先介绍js 返回前一页并刷新页面,然后再把这些代码放在php中实现删除后返回当前页面并刷新页面.... JS 重载页面,本地刷新,返回上一页 代码如下 1 2 3 <a href="javascript:history.go(-1)">返回上一页</a> <a href="javascript:location.reload()"