наблюдать за формой отправить ответ с таргетингом на iframe - PullRequest
0 голосов
/ 29 ноября 2010

У меня есть приложение, которое запускается в новом окне. Существует несколько форм для создания экспорта в PDF. Когда я отправляю одну из этих форм, окно теряет фокус, и исходное окно снова появляется, когда появляется загрузка.

Я создал iframe, чтобы формы могли ориентироваться на iframe, и текущее окно не теряет фокус. Это прекрасно работает, но я понятия не имею, как наблюдать за реакцией внутри iframe, если все прошло правильно.

Вот как это работает до сих пор. Я использую прототип JS.

<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 () браузер не знает, как обрабатывать ответ, и не вызывает диалог загрузки. Как я могу сделать это правильно?

Заранее спасибо!

1 Ответ

0 голосов
/ 30 ноября 2010

Когда что-то идет не так в iframe, вы можете попытаться запустить событие из iframe в его родительское окно (при условии, что мы находимся в одном домене; оно не будет работать в междоменном домене):

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

и родительский документ прослушивает это событие:

document.observe('something:went_wrong', function() {...});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...