html页面js传参数,JavaScript如何实现html页面之间参数传递

本篇教程介绍了JavaScript如何实现html页面之间参数传递,希望阅读本篇文章以后大家有所收获,帮助大家对JavaScript的理解更加深入。

<

页面A代码如下:

1 html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

html页面参数传递

8     页面A

10 

11 

12 

13

14 $(document).ready(function(){

15

16     var obj={

17         id:1,

18         name:"张三",

19         age:10

20     };

21     alert("A页面参数:"+parseParam(obj));

22     $("#btn-a").click(function(){

23         window.location.href="domoB.html?"+parseParam(obj);

24     });

25

26 });

27

28

29

30 // 将js对象转成url jquery实现

31 var parseParam=function(paramObj, key){

32   var paramStr="";

33   if(paramObj instanceof String||paramObj instanceof Number||paramObj instanceof Boolean){

34     paramStr+="&"+key+"="+encodeURIComponent(paramObj);

35   }else{

36     $.each(paramObj,function(i){

37       var k=key==null?i:key+(paramObj instanceof Array?"["+i+"]":"."+i);

38       paramStr+=‘&‘+parseParam(this, k);

39     });

40   }

41   return paramStr.substr(1);

42 };

43

44

45 /**

46  * paramObj 将要转为URL参数字符串的对象

47  * key URL参数字符串的前缀

48  * encode true/false 是否进行URL编码,默认为true

49  * js实现

50  * return URL参数字符串

51  */

52 var urlEncode = function (paramObj, key, encode) {

53   if(paramObj==null) return ‘‘;

54   var paramStr = ‘‘;

55   var t = typeof (paramObj);

56   if (t == ‘string‘ || t == ‘number‘ || t == ‘boolean‘) {

57     paramStr += ‘&‘ + key + ‘=‘ + ((encode==null||encode) ? encodeURIComponent(paramObj) : paramObj);

58   } else {

59     for (var i in paramObj) {

60       var k = key == null ? i : key + (paramObj instanceof Array ? ‘[‘ + i + ‘]‘ : ‘.‘ + i);

61       paramStr += urlEncode(paramObj[i], k, encode);

62     }

63   }

64   return paramStr;

65 };

66

67

68 

69 

页面B代码如下:

1 html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

html页面参数传递

8     页面B

10 

11 

12

13 $(document).ready(function(){

14     var obj=GetRequest();

15     alert(obj.id+"--"+obj.name+"--"+obj.age);

16 });

17

18

19

20 //根据参数名称获取url参数

21 function getUrlParamValue(name) {

22     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");

23     var r = window.location.search.substr(1).match(reg);

24     if (r != null) return decodeURIComponent(r[2]);

25     return null;

26 }

27

28 //获取url参数封装成对象

29 function GetRequest() {

30

31   var url = location.search; //获取url中"?"符后的字串

32    var theRequest = new Object();

33    if (url.indexOf("?") != -1) {

34       var str = url.substr(1);

35       strs = str.split("&");

36       for(var i = 0; i 

37          theRequest[strs[i].split("=")[0]]=decodeURIComponent((strs[i].split("=")[1]));

38       }

39    }

40    return theRequest;

41 }

42

43

44 

45 

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标WEB前端JavaScript频道!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值