У меня есть часть загрузки, где я хотел бы загрузить изображение. Но я не хочу использовать стандартную кнопку загрузки, поэтому у меня есть ярлык с изображением.
HTML
<div class = "image-upload">
<label for = "imgInp"><img id = "blah" src = "https://www.gravatar.com/avatar/9a6676e137fefad07752853bcc656a39?s=48&d=identicon&r=PG&f=1" width = "320px" height = "240" style = "padding-bottom:10px" /></label>
<input type='file' id = "imgInp" />
</div>
Скрипт
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#imgInp").change(function(){
readURL(this);
});
css, чтобы скрыть кнопку загрузки по умолчанию
.image-upload > input {
display: none;
}
Что я хотел бы сделать, так это изменить src-url изображения внутри тега метки. Какой умный способ добиться этого? Я пробовал что-то вроде up, но когда я заключаю предварительный просмотр изображения с меткой, код больше не работает.
Боже мой. --- Я был слишком воодушевлен. Просто опечатка! Как я мог отметить это как ответ?
Извините, но вы не можете пометить комментарий как ответ.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Там просто небольшая опечатка. Вы использовали
$('#blah').attr('src', e.target.result);
но идентификатор вашего элемента изображения blahчас
Попробуйте изменить способ присоединения прослушивателя событий изменения к $(document).on('change', '#blah', function() { });, как описано Марком Шультейсом здесь: stackoverflow.com/a/9929631/6504633
Разве идентификатор изображения не
blahвместоblahh?