a(传值页面) b(接收值的页面)
可以在页面a用encodeURI 编码url 在b页面用decodeURI解码url
a页面:
functiontotest(){
varparm1=document.getElementById("tx1").value;
varparm2=document.getElementById("tx2").value;
varparm3=document.getElementById("tx3").value;
varparm4=document.getElementById("tx4").value;
varmyurl="zhongji2.html"+"?"+"parm1="+parm1+"&parm2="+parm2+"&parm3="+parm3+"&parm4="+parm4;
// encodeURI 编码
window.location.assign(encodeURI(myurl));
}
b页面:
functiongetvalue(){
///test2.html?parm1=myimg1&parm2=myimg2
//获得第一个属性
//decodeURI 解码
varurl=decodeURI(location.href);
vartmp1=url.split("?")[1];
vartmp2=tmp1.split("&")[0];
vartmp3=tmp2.split("=")[1];
varparm1=tmp3;
...
}
项目中url比较多,转码一整条url可能会影响别的地方,可以只转码那个中文参数(只有参数有中文的情况下),例如:
//只转码numMen这个参数,同样转码的时候也只转码这一个参数,就可以解决影响其他方法的问题
n_url=n_url+’;taskId=’+GetQueryString(“id”)+’;menValue=’+encodeURI(numMen);//转码
//解码
先把url整条传过来,然后用字符串切割的方法,找到那个参数,然后再对那个参数进行解码;
sHref = window.location.href, //获取上个页面的url
menNum = sHref.split(‘;’), //数组
length = menNum.length – 1, //menValue所在的位置(始终是最后一个)
menValue = decodeURI(sHref.split(‘;’)[length].split(‘=’)[1]);//decodeURI是解码传过来的menValue的值(解决中文乱码)
网友评论