Как получить доступ к содержимому iframe в другом iframe? - PullRequest
1 голос
/ 16 января 2012

У меня есть страница

<div id="editForm_container">
<form id="imageForm" name="imageForm" enctype="multipart/form-data" target="hiddenFrame" method="post" action="test.php">                   

    <label><strong>File Name</strong></label>
    <input type="file" name="fileupload" id="fileupload" /><br />
    <input type="submit" name="submit_image" id="submit_image" />

</form>
<iframe id="hiddenFrame" name="hiddenFrame"></iframe>

, и я загружаю эту страницу в другой iframe, расположенный на другой странице , и я написал это в своем js-файле

$("#imageFrame").load(function(){

this.imageFramecontent = $("#imageFrame").contents();
this.imageFramefields.fileField = this.imageFramecontent.find( ":input[ name = 'fileupload' ]" );
this.imageFrameform = this.imageFramecontent.find( "form#imageForm" );
this.hiddenFrame = this.imageFramecontent.find("iframe#hiddenFrame");

this.imageFramefields.fileField.change(function(){

    self.imageFrameform.submit();
    self.hiddenFrame.load(function(){

        alert(self.hiddenFrame.contents().html());
    });                     
});

Возвращает пустое предупреждение.Как получить содержимое # hiddenFrame ?

1 Ответ

2 голосов
/ 16 января 2012

Вы были близки.Метод .contents() возвращает набор элементов DOM, поэтому вам нужно указать, для какого элемента вы хотите вернуть html.Таким образом, вам понадобится строка, подобная этой:

hiddenFrame.contents().find('html').html();

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

$("#imageFrame").load(function(){

    imageFramecontent = $("#imageFrame").contents();
    imageFrameupload = imageFramecontent.find( ":input[ name = 'fileupload' ]" );
    imageFrameform = imageFramecontent.find( "form#imageForm" );
    hiddenFrame = imageFramecontent.find("iframe#hiddenFrame");

    imageFrameupload.change(function(){

        hiddenFrame.load(function(){

            alert(hiddenFrame.contents().find('html').html());

        }); 
        imageFrameform.submit();

    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...