在使用layer.js的过程当中,须要经过layer.open()以iframe的形式打开特定的页面,同时须要用layer的按钮对打开的页面进行提交及重置操做,可是苦于不知如何在父页面调用子页面的方法及属性,查阅大量资料以后终于得出解决方案。javascript
这是layer.open()的代码html
layer.open({ id: 'insert-form', type: 2, title: '录入数据', shadeClose: true, shade: 0.8, area: ['1100px', '90%'], content: 'insert.html', btn: ['提交', '重置'], yes: function (index) { insertSubmit() }, btn2: function (index) { insertReset(); return false; } });
须要注意的是,必须提供一个id属性,以供以后查找到所需的iframe。java
这是调用子页面方法的代码:.net
function insertSubmit(){ var frameId=document.getElementById('insert-form').getElementsByTagName("iframe")[0].id; $('#'+frameId)[0].contentWindow.mySubmit(); } function insertReset(){ var frameId=document.getElementById('insert-form').getElementsByTagName("iframe")[0].id; $('#'+frameId)[0].contentWindow.myReset(); }
注意:这段代码是写在父页面中的,即layer所在的页面。orm
这是子页面(layer中打开的页面)中被调用的方法:htm
function mySubmit(){ $('#form').submit(); } function myReset(){ $('#form')[0].reset(); }
原文:http://blog.csdn.net/qq_28550739/article/details/53389588blog