Вы были близки.Метод .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();
});
});