2010-11-29 57 views
0

我有一個應用程序在新窗口中運行。有幾種形式可以生成PDF導出。當我提交這些表單之一時,窗口失去了焦點,當下載出現時,原始窗口再次彈出。觀察表單提交響應,目標是一個iframe

我創建了一個iframe,所以表單可以定位iframe,並且當前窗口不會失去焦點。它工作的很好,但我不知道如何觀察iframe中的響應,如果一切順利的話。

以下是迄今爲止的工作方式。我正在使用prototypeJS。

<iframe id="pdf_frame" name="pdf_frame" style="display:none;"></iframe> 

<form id="PDF_gen" name="PDF_gen" target="pdf_frame" action="pdf.pl"> 
     <input type="hidden" name="size" value=""> 
     <!-- more hidden inputs --> 
</form> 
<input type="button" id="pdf_submit" value="generate pdf"> 

JS:

$('pdf_submit').observe('click', function(){ 
    //write stuff to hidden inputs 
    $('PDF_gen').submit(); 
}); 

如果出現錯誤,下載對話框不會出現。當使用原型form.request()時,瀏覽器不知道如何處理響應,並且不會顯示下載對話框。我該怎麼做對不對?

在此先感謝!

回答

0

當不順心的事在iframe你可以嘗試火從iframe到它的父窗口的事件(假設我們是在同一個域,它不會工作跨域):

parent.document.fire('something:went_wrong') 

,並有父文檔偵聽該事件:

document.observe('something:went_wrong', function() {...}); 
+0

當然,但我不知道的東西是否出了問題,因爲我無法訪問狀態響應 – koko 2010-12-01 07:33:42