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

未结贴
4 258
需求是这样的,主页面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 回复
最近热帖
layui省市区三级联动数据库版 720
vip-admin Html v1.6.0 更新了 - 基于layui的后台模板 466
html5+CSS3+layui开发的前台网站模板 408
请问下,layer我看完了文档,也不知道里面的内容怎么自定义编译呢??? 386
layer终极疑难杂症。。感觉这问题无解了。。 360
PHP版layim整合融云简单实现 323
模态窗口用ajax 获取分页面,一直报404 311
下拉选择框动态添加option显示不出来 227
layui.upload 上传 dataType:"json" 怎么设置? 204
为什么提交表单的时候总会以get方式提交 193
近期热议
请问下,layer我看完了文档,也不知道里面的内容怎么自定义编译呢??? 16
求助 table数据 每次都要手动刷新才会更新数据 15
layer终极疑难杂症。。感觉这问题无解了。。 13
模态窗口用ajax 获取分页面,一直报404 12
layui弹出层没反应 12
范围的日历,怎么让第一个日历选中时间后,第二个立刻自动弹出 10
请问为什么layer中弹出层内容点击事件不起作用?? 10
求助,为何checkbox的原始风格无法显示 9
下拉选择框动态添加option显示不出来 9
扩展模块依赖内置模块的时候只需要声明内置模块名,不用路径,是怎么关联起来的啊? 7