头都大了,layer.open如何获取iframe页面的元素的值

未结贴
4 161
需求是这样的,主页面index有个链接(或者说是按钮),点击这个按钮的时候弹出窗口,窗口的页面是iframe.jsp,iframe.jsp里面input,那么想在点击layer.open的按钮的时候获取iframe.jsp页面中input的值。
如下:index页面
<head>
<script src="${pageContext.request.contextPath}/js/jquery-3.1.1.min.js" type="text/javascript"></script>
</head>
<body>
<a id="open">layertest</a>
<script src="${pageContext.request.contextPath}/js/layer/layer.js" type="text/javascript"></script>
<script src="${pageContext.request.contextPath}/js/test.js" type="text/javascript"></script>
</body>
</html>

点击layertest调用的js:
$("#open").on("click", function() {
layer.open({
type : 2,
area : [ '700px', '530px' ],
fixed : false, // 不固定
maxmin : true,
content : 'iframe.jsp',
btn : [ '继续弹出', '全部关闭' ] // 只是为了演示
,
yes : function(layero, index) {
var data = $("#myname").val();
layer.msg("哈哈哈:" + data, {
time : 5000
});
},
btn2 : function() {
layer.closeAll();
}
});
});

iframe页面:
<input id="myname" name="myname" type="text"/>

效果:


难道不能这样直接获取么?
这么简单的都搞了半天,希望大神能够指点指点,谢谢。[泪]
  • 斗地主 斗地主
    2017-02-17 21:16:36
    自己顶一一下[失望]
    0 回复
  • 斗地主 斗地主
    2017-02-17 21:40:19
    之前使用了:

    var body = layer.getChildFrame('body', index);
    var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
    console.log(body.html()) //得到iframe页的body内容
    body.find('input').val('Hi,我是从父页来的')
    }
    });
    还是不行,搞到快受不了,后面才发现这里两个参数的顺序问题:

    文档是:(layero, index) 换了下这两个顺序就好了,好坑啊
    0 回复
  • 杭州隔壁老王 杭州隔壁老王 VIP2
    2017-02-17 21:49:21
    感觉思路不对的吧。
    你这个只要iframe.jsp做弹出就行了啊,为什么是要父页面去获取呢? 如果是为了获取这个值,直接index点击这个按钮的时候 直接ajax获取input的值就行了,是不是你把这个搞复杂化了
    你直接iframe.jsp
    parent.layer.msg($("#myname").val());就能达到你的效果吧
    0 回复
  • 斗地主 斗地主
    2017-02-17 22:10:28
    @杭州隔壁老王 弹出的iframe.jsp界面有input给用户填写信息,然后获取iframe.jsp所填写的信息通过ajax提交,iframe.jsp就没有按钮,使用layer.open的按钮来操作提交
    0 回复
最近热帖
vip-admin Html v1.5.0 更新了 - 基于layui的后台模板 1385
一个为您省时省力的后台模板jqadmin 1048
meTools - 基于layui+vue的在线工具网站 952
基于layui的后台模板 - 反正我觉得我的界面是最漂亮的 880
你的案例或技术分享,将会被置顶推荐 825
LayuiHelp,一个良心插件,为你的代码插上翅膀! 738
LayUI SELECT 多级级联实现,理论上是无限级的 582
Admin-Template 后台模板(开发中...) 510
基于TP5加Layui的轻社区系统,争取下个月上线 291
laypage分页模块扩展之pagesize.js(layui2.0不知道会不会有这个功能) 215
近期热议
一个为您省时省力的后台模板jqadmin 24
基于layui的后台模板 - 反正我觉得我的界面是最漂亮的 20
LayuiHelp,一个良心插件,为你的代码插上翅膀! 17
layer的使用,以前用的时候还没挺好的怎么现在layer的弹出框一直报错,求大神给指点一下 15
vip-admin Html v1.5.0 更新了 - 基于layui的后台模板 15
form表单提交,监听提交按钮,用ajax异步检测名称是否已存在,ajax 不执行! 14
遮罩通过parent 可以全屏,但窗口不能传值了? 12
layui点击左侧固定导航栏时,如何在右侧显示,而并不是打开新窗口呢 12
select联动初始化数据form.render();不能逐个渲染的问题。 11
为什么layui分页只有一页的情况下不无法显示组件呢? 11