在使用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