У меня есть файл, который загружается через iframe. У меня сейчас работает во всех браузерах, кроме Opera. Чтобы сначала отправить форму, у меня есть
$(document).ajaxComplete(function() {
$('.aboutContentImageForm').each(function() {
var $this = $(this);
$this.find('[type=file]').change(function() {
$this.submit();
});
});
});
Затем, чтобы захватить возвращенные данные, я использую
$('.aboutContentImageForm').live('submit', function() {
$('#' + $this.attr('target')).load(function() {
var responseHtml = $(this).contents().find('body'),
response = responseHtml.html();
alert(response);
});
});
И мой HTML
<form action="ajax/about_content.php" method="post" enctype="multipart/form-data" class="aboutContentImageForm" target="form_image_upload_content_id_8">
<fieldset>
<input type="file" name="image_path" id="image_path_8">
</fieldset>
</form>
<iframe id="form_image_upload_content_id_8" name="form_image_upload_content_id_8"></iframe>
Итак, моя форма нацелена на iframe, а затем, как только загрузка iframe закончится, возьмите возвращенные данные.
Я могу подтвердить, что iframe получает данные ответа. Я вижу это в кадре после того, как нажму «отправить». Я просто не могу зафиксировать событие, когда iframe получает указанные данные. Это ошибка с .load()
?
Редактировать
после помещения alert
в load()
похоже, что он признает, что это действие завершено, но почему они не могут получить данные моего ответа?