Изображение заменяет элемент ввода
Я хочу сделать "скрипт загрузки изображений". Я не хочу использовать элемент ввода. При нажатии на красное изображение появится системное окно, и вы можете выбрать файл изображения. Но это не работает в IE 9.
Код jQuery:
// this part of code does not work in IE9
$('img').click(
function(){
$('#photoimg').trigger('click');
});
// this works fine
$('#photoimg').live('change', function(){
$("#preview").html('');
$("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
$("#imageform").ajaxForm({
target: '#preview',
success: function() {
alert('IMG was loaded.');
}
}).submit();
});
HTML код:
<img id="icon" src="http://ynternet.sk/test2/close_1.jpg">
<form id="imageform" method="post" action='upload_file.php'>
<input type="file" name="photoimg" id="photoimg" />
</form>
<div id='preview'> </div>
Пример:
http://ynternet.sk/test_4/
1 ответ
Решение
Проблема в том, что ваш код пытается получить доступ к элементу с идентификатором "myfile", но в вашей разметке такого элемента нет.
Это сработало для меня как в IE9, так и в Chrome, когда я изменил идентификатор входного файла, чтобы он соответствовал тому, что было в коде (хотя очевидно, что вы можете изменить JS, чтобы он соответствовал HTML):
<input type="file" name="photoimg" id="myfile" />