2015-03-31 69 views
0

在簡單窗口(iframe)中出現彈出式法律聲明,其工作方式與我預期的完全相同。 iframe中有一個表單,當你提交它時,模式窗口關閉,你繼續到你的目的地 - 在這種情況下,一個「mailto:」鏈接。Simplemodal:提交表單並在iFrame中關閉

問題是 - 我需要一個單獨的「關閉」功能,不打開mailto鏈接,只是關閉模式。目前,提交表單或者單擊「關閉」鏈接都會打開「mailto」鏈接。

到目前爲止,我已經得到了什麼:

在我的iFrame來處理表單提交:

$('#alertFORM').submit(function() { 
    window.parent.jQuery.modal.close(true); 
}); 

我的其他功能一切處理:

$('.legalnotice').on('click', function (e) { 
e.preventDefault(); 
var src = "email_alert.html"; 
var mailto = $(this).attr('href'); 

$.modal('<iframe src="' + src + '" height="400" width="390" style="border:0" id="legalFRAME">', { 
    closeHTML: "<a href='#'>Close</a>", 
    closeCLASS: "simplemodal-close", 
    containerId: "modal", 
    containerCss: { 
     backgroundColor: "#f8f8f8", 
     borderColor: "#f8f8f8", 
     height: 500, 
     padding: 0, 
     width: 400 
    }, 
    overlayClose: true, 
    onClose: function (dialog) { 
     $.modal.close(); 
     window.location.href = mailto; 
    } 
}); 

}); });

我相信我明白這個問題 - 表單提交和'關閉'鏈接都會調用onClose函數。還沒弄清楚分開這兩個,所以只有表格提交打開'mailto'鏈接。

我試圖改變我的iFrame代碼:

$('#alertFORM').submit(function() { 
    parent.closeModal(); 
}); 

...然後回父頁上,在我的javascript的上方頂部:

function closeModal() { 
$("#modal").dialog("close"); 

}

...但這不起作用。

積極開展工作。最受讚賞的建議。

回答

0

終於明白了!

$('#alertFORM').submit(function() { 
    window.showEmail = "true"; 
    window.parent.jQuery.modal.close(true); 
}); 

$(".modalCloseImg").on('click', function (e) { 
    window.parent.jQuery.modal.close(true); 
}); 

...回來父頁上:

​​ 在我的iFrame裏面的文件