2012-06-20 6 views
0

У меня есть трудная проблема. Уже исследовали здесь на сайте и попробовали множество предлагаемых решений, но никто не работал в Internet Expolorer 8 (это версия, которую я установил на своей машине). Прекрасно работает в Chrome и Firefox. У меня есть веб-сайт, где пользователю необходимо загрузить 10 фотографий. Мне нужно сделать загрузку и отобразить их в div на странице, без вспышки и без перезагрузки страницы. Я использовал технику целевого атрибута set form, чтобы делать сообщение в iframe, iframe делает сообщение, а когда он перезагружается, это всего лишь тег img с загруженным изображением (я делаю это на скрипте на стороне сервера - PHP) В Internet Explorer содержимое iframe не изменяется, сообщение не происходит.сообщение в iframe не работает в Internet Explorer?

Кто-то может помочь мне? «В исследуемый много здесь на форуме, но большинство из этих проблем с фреймами динамически генерируемых JavaScript, но в моем случае, IFrame уже в HTML

Вот мой код:

//javascript 

$(document).ready(function() {   
//this part works in every browser, is jut´s to triger click in input type file  
    $(".div_input_file").click(function(){    
     var rel = $(this).attr("rel");    
     $(".arq"+rel).trigger('click');    
    }) 
}); 

function loadPicture(number) 
{    
    $(".remover_produto").remove(); 
    //just a gif animation until ends animation 
    $("#image_load_"+number).attr("src","images/loading.gif"); 
    $("#image_load_"+number).css("width","172px");  
    $("#image_load_"+number).css("height","176px");  
    //when iframe load after post 
    $("#upload_target_"+number).load(function() { 
     //get image that was loaded in iframe after post 
      var image = $("#upload_target_"+number).contents().find("img").attr("src"); 
     $("#div_input_file_"+number).html("<img src='"+image+"' alt='' class='img_uploaded' />"); 
     $("#div_input_file_"+number).parent().append('<a class="remover_produto" rel="remover_'+number+'"');   
    }); 

} 

    //html 
    <iframe id="upload_target_1" class="upload_target" name="upload_target_1" src="upload.php"></iframe> 
    <div id="div_input_file_1" class="div_input_file" rel="1"> 
     <img src="images/criar_anuncio/gallery_pic05.png" alt="" id="image_load_1" /> 
    </div>  
    <form action="/upload.php" id="form_upload_1" enctype="multipart/form-data" method="post" target="upload_target_1" onsubmit="loadPicture(1)"> 
     <input name="arquivo" type="file" size="30" class="arquivo arq1" onchange="$('#form_upload_1').submit();"/> 
     <input type="hidden" name="num_imagem" value="1" /> 
    </form> 
+0

Среди других ошибочных вещей, эта строка '(«#div_input_file _»+ номер) .parent(). append ('. – Ohgodwhy

+0

в моем коде является правильным закрывающим тегом, я сократил функцию, уменьшая ее, чтобы показать только то, что имеет значение. Что еще не так? – Bruno

+0

вы можете использовать ajax вместо iframe ... –

ответ

0

Наконец нашел проблему. эти линий были причиной проблемы:

$(document).ready(function() {   
//this part works in every browser, is jut´s to triger click in input type file  
    $(".div_input_file").click(function(){    
     var rel = $(this).attr("rel");    
     $(".arq"+rel).trigger('click');    
    }) 
}); 

стилизовать входной файл типа, я использовал следующую технику: При нажатии на кнопку на DIV, инициирующий типа входного файла, который был скрыт.

Это действие вызывает ошибку в Internet Explorer. я поставил обычный входной файл типа без стилей, так что я могу проверить, и может доказать, что он работает хорошо

Спасибо всем, кто помог

Смежные вопросы