layer 如何在ifram d窗传值

layer 如何在ifram d窗传值,第1张

在iframed窗中可以访问到父页面,在API里的典型例子是

var index = parentlayergetFrameIndex(windowname); //获取窗口索引

类似地,在d窗的html中,你可以通过如下语句获取父页面某容器的值:

parent$('#父页面元素id')val();

所以你只需在d窗open之前(在父页面的html代码中)先把值放在一个容器里(比如input),然后就可以在d窗的html代码里用上述的script获取这个值并输出。这个容器可以放在一个隐藏的modal里面,对访问者完全不可见。

我们在layer中open一个新layer,我们想要给它传值,我们使用下面的方式:

如果想要在子layer中调用父类的方法,并且带一些参数,方式如下:

挺简单啊,直接parent调用方法即可。这个parent其实已经是window的对象了。我们把window省略掉了。

我们看看父layer中定义的方法:

回调父类的方法之后,就可以打印我们传的id了。

另外,我们这里传的值,也可以是一个对象。

比如我们把父类的某个元素对象传给子layer,然后子layer回调时传回,在父类中修改此对象的值等。

layer关闭本身:

看你要传入什么值了,可以是moudle分配过来的值 ,也可以是页面中元素的值 ;

用js获取这个值,再写到内容content里面,即可

2

<input type="hidden" id="xxx" value="{$xxx}" />

<script>

    var my_content = $('#xxx')val();

    layeropen(

    {

          title: '标题',

          content: my_content'

    });

</script>

你看一下layer的官方演示里边就有在iframe中关闭自身的例子

在你上面的“页面”中,在你提交表单后执行

1

2

3

4

var index = parentlayergetFrameIndex(windowname); //获取当前窗体索引

$('#提交的元素')on('click', function(){

parentlayerclose(index); //执行关闭

});

你可能需要修改上面的"submit"提交为button提交

formverify({

username: function(value){

if(!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$")test(value)){

return '用户名不能有特殊字符';

}

if(/(^\_)|(\__)|(\_+$)/test(value)){

return '用户名首尾不能出现下划线\'_\'';

}

if(/^\d+\d+\d$/test(value)){

return '用户名不能全为数字';

}

}

});

这个应该是支持所有layfilte的验证,写在哪里都可以,只要在你这个d出的时候能执行

以上就是关于layer 如何在ifram d窗传值全部的内容,包括:layer 如何在ifram d窗传值、layer打开新窗口的传值和回调、layer.open 打开一个html页面,content应该怎么传值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10218770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存