layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例

父层:

jsp中:

//页面上添加一个隐藏的输入框待用于被子层设置value,从而将子层的数据传递到此页面

<input type="hidden" id="getValue" name="getValue" value="" />

js代码:

//设置function,当执行时,弹出子窗口并传递当前窗口名称

//弹出子窗口(选择商家)

function choseMerchant() {

//获取当前窗口名称

var parentName= window.name;

/*(由于用的ssm框架)URL对应的是controller方法,并向其传递当前窗口名称,打开的窗口显示页面即

为经过controller方法后返回的页面*/

var url = root + "/adPosition/choseMerchant?parentName="+ parentName;

laySum = parent.layer.open({

//设置打开的子窗口效果

type : 2,

title : "选择商家",

shadeClose : true,

shade : 0.5,

shift : 0,

area : [ '40%', '863px' ],

content : url,

success: function(layero, index){

}

});

}

子层:

jsp中:

//页面添加的隐藏输入框,存储的值是经过controller方法后返回的父窗口名称,用于区分,将id设置为mainIframeName

<input type="hidden" id="mainIframeName" name="mainIframeName" value="${parentName}">

js代码:

//设置function,当执行时,传值并关闭当前窗口

function setvalue() {

//得到“mainIframeName”输入框中存储的值

var mainIframeName = $("#mainIframeName").val();

//判断是否为空或者是未定义

if (mainIframeName != "" && mainIframeName != "undefined")

{

//此处的ifrc和winc的意义可自行查阅

var ifrc = window.parent.frames[mainIframeName];

var winc = ifrc.window || ifrc.contentWindow;

try {

//设置父窗口隐藏输入框的值为hello world

winc.document.getElementById("getValue").value = "hello world!";

} catch (ex) {

winc.location.reload();

}

}

//关闭当前窗口

var index = parent.layer.getFrameIndex(window.name);

parent.layer.close(index);

}

总结:此方法用于子层直接给父层元素赋值,从而达到传值的效果,关键点在于需要将父层窗口名称传递到子层中。

如果大家想了解更多游戏活动与游戏攻略,请持续关注本站,本站小编将在第一时间为大家带来最好看、最好玩、最新鲜的游戏资讯。更多精彩内容,尽在jb51游戏频道!

以上是 layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例 的全部内容, 来源链接: utcz.com/z/339963.html

回到顶部