1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 页面跳转传参 A 页面跳转到B页面 把A页面获取的值传到B页面

页面跳转传参 A 页面跳转到B页面 把A页面获取的值传到B页面

时间:2018-09-12 13:17:04

相关推荐

页面跳转传参 A 页面跳转到B页面 把A页面获取的值传到B页面

1、问题:

最近遇到一个问题,在A页面跳转到B页面时,同时将一个值带到B页面并显示出来。

最后找到一个比较靠谱的方法,分享给大家~

2、解决:

页面其他内容不再展示,只写A,B两个页面的JS代码段,有基础的同学应该是能看懂的。

注:中文传输:可以在页面a用encodeURI编码url 在b页面用decodeURI解码url

A页面JS代码

<script language="JavaScript">function test(){var temp = document.getElementById("txt");location.href="test2.html?"+"txt="+encodeURI(temp.value);}</script>

B页面JS代码

<script type="text/javascript">// 地址的总长度var n1 = location.href.length;// 取得=号的位置var n2 = location.href.indexOf("=");// 截取=号后面的内容var id = decodeURI(location.href.substr(n2+1, n1-n2));// 控制台打印输出console.log("获取的邮箱地址:" + id);// 将获取的值设置到指定位置$("#temp").html(id);</script>

3、总结:

这种方法对传递几个值的情况适用,如果传递的值比较多的话,这种方法有一定得局限性。

4、补充:

4.1、问题:

近期用该方法时,遇到了一点问题,截取传过来的值时,在Chrome,IE,Firefox中都没有问题,

但是在微信内置浏览器和Safari浏览器中执行异常

4.2、原因:

经排查发现,微信内置浏览器会在地址后自动加上浏览器标识,截取的不是原来想要的值

4.3、解决:

加上下面的代码,判断一下,只截取自己想要的值即可

uid = decodeURI(location.href.substr(n2 + 1, n1 - n2));if(uid.length > 8){uid = uid.substring(0, 8);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。