JS实现HTML静态页传值的方法
JS实现HTML静态页传值的方法
此处使用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静态页传值的方法 - 前端开发-武方博
JS实现HTML静态页传值的方法的更多相关文章
- JS魔法堂:定义页面的Dispose方法——[before]unload事件启示录
前言 最近实施的同事报障,说用户审批流程后直接关闭浏览器,操作十余次后系统就报用户会话数超过上限,咨询4A同事后得知登陆后需要显式调用登出API才能清理4A端,否则必然会超出会话上限. 即使在页面 ...
- 基于PHP生成静态页的实现方法
t1.php 复制代码 代码如下: <?php// 方法一根据模版生成静态页面// replaceTemplateString函数用于替换模板中指定字符串function replaceTemp ...
- springMVC下jsp引用外部js,css等静态资源的解决方法
直入主题. 1. web.xml对springMVC配置如下: <servlet> <description>Spring MVC配置</description> ...
- 关于js返回上一页的实现方法
以前在提交表单的时候,如果提交出错返回的时候信息内容全没了,我不知道要怎么保存,就开始了那种最愚蠢的做法,将填写的数据设置到session中,让后取出来用,不过没有试成功,总是有错,无意之中在我那本j ...
- Node.js + gulp 合并静态页模版,文件更新自动热重载。浏览器可预览
github地址:https://github.com/Liaozhenting/template 使用的是ejs的语法.其实你用什么文件后缀都可以,都是按ejs来解析. 模板文件放在componen ...
- js返回上一页的实现方法
下面是常用代码: <a href="<a href="javascript :history.back(-1)">返回上一页</a> < ...
- ASP.NET MVC创建静态页
1.在MVC下新建一个类:StaticPageHelper public class StaticPageHelper { /// <summary> /// 根据View视图生成静态页面 ...
- Ext JS 4 老特征:statics 静态的变量和方法
l 一.静态的变量和静态的方法 [译文原创Learning Ext JS 4 第51页] Statics的方法只属于类本身,而不属于任何一个实例,这就决定了我们是在定义类的内部来用statics方 ...
- javascript静态页面传值的三种方法分享
一:JavaScript静态页面值传递之URL篇能过URL进行传值.把要传递的信息接在URL上.Post.htm 复制代码 代码如下: <input type="text" ...
随机推荐
- jstack命令(Java Stack Trace)
jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使 ...
- android 纯c/c++开发(转)
转载自: http://jingyan.baidu.com/article/a501d80cf394dfec630f5e85.html android 自ndk r8出来以后,就开始支持纯c/c++开 ...
- Codeforces Round #360 (Div. 1) D. Dividing Kingdom II 并查集求奇偶元环
D. Dividing Kingdom II Long time ago, there was a great kingdom and it was being ruled by The Grea ...
- 利用PowerDesigner比较2个数据库结构
主要实现思路 建立新旧数据库ODBC 导入原始数据模型 选择并比较对象 .PowerDesigner中可以对2个数据模型进行比较,所以想到用这个功能来实现对比数据库的目的.到底怎样利用PowerDes ...
- HDFS机架感知功能原理(rack awareness)
转自:http://www.jianshu.com/p/372d25352d3a HDFS NameNode对文件块复制相关所有事物负责,它周期性接受来自于DataNode的HeartBeat和Blo ...
- Tomcat日志配置
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" ...
- Scala中的Implicit(隐式转换,隐式参数,隐式类)
文章来自:http://www.cnblogs.com/hark0623/p/4196452.html 转发请注明 代码如下: /** * 隐式转换 隐式参数 隐式类 */ //隐式转换 class ...
- subList和asList
subList subList返回仅仅只是一个视图.直接上源码 public List<E> subList(int fromIndex, int toIndex) { subListRa ...
- HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID
HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在i ...
- 实践1-qq邮箱主页
纯html的网页 采用table分割板块进行布局 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...