今天在实践中学会了一个新的东西,javascript实现url的参数传递,虽然不安全,但是在某些情况下还是会用到的。
例如两个页面A和B,
在A中选择银行的种类
点击下一步到B页面
B页面中红框标出来的这里要显示A页面所选择的内容。
怎么实现呢?
可以根据url参数传递实现。
A页面:当点击.bankdiv做选择的时候,触发一个事件——给#next的href属性设置一个带?的地址,?后面是要传递给 第二个页面的参数,多个参数时用&连接
$(".bankdiv").click(function(){
$("# next").attr("href","B.html?src="+$(this).find("img").attr("src")+"&word="+$(this).find(".word").text()+"&kind="+$(this).parent().parent().find("h2").text());
});
B页面: 用一个方法获取传过来的参数,再传递给页面的相应位置
var Request = {
query : function(item) {
var svalue = location.search.match(new RegExp("[\?\&]" + item+ "=([^\&]*)(\&?)", "i"));
return svalue ? svalue[1] : svalue;
}
}
var src = Request.query("src");
var word = Request.query("word");
var kind = Request.query("kind");
给页面的相应标签赋值
$(function(){
$(".bank_img img").attr("src",src);
$(".word").text(word);
if(kind=="%E5%82%A8%E8%93%84%E5%8D%A1"){ //中文传递时有解码问题,可以百度查看,这里没设置,所
$(".kind").text("储蓄卡"); 以就读取它传递过来时的样子了
}else if(kind=="%E4%BF%A1%E7%94%A8%E5%8D%A1"){
$(".kind").text("信用卡");
}
});