引言
在使用layer.js的過程中,需要通過layer.open()以iframe的形式打開特定的頁面,同時需要用layer的按鈕對打開的頁面進行提交及重置操作,但是苦於不知如何在父頁面調用子頁面的方法及屬性,查閱大量資料之后終於得出解決方案。
首先
這是layer.open()的代碼
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。
其次:重點
這是調用子頁面方法的代碼:
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所在的頁面。
再次
這是子頁面(layer中打開的頁面)中被調用的方法:
function mySubmit(){
$('#form').submit();
}
function myReset(){
$('#form')[0].reset();
}
原文:http://blog.csdn.net/qq_28550739/article/details/53389588
