Предпросмотр изображения до загрузки

420
04 мая 2017, 14:23

Как сделать предпросмоотр изображения, что бы он выводился в конкретном div до загрузки на сервер? Пробовал такой вариант- не работает

<form name="" method="post" action="#" enctype="multipart/form-data" class="feedback-form-1">
    <fieldset>
        <div class="input-file-row-1">
            <div class="upload-file-container">
                <img id="image" src="#" alt="" />                       
                <div class="upload-file-container-text">
                    <span>Add<br />photo</span>
                    <input type="file" name="pic[]" class="photo" id="imgInput" />
                </div>
            </div>              
        </div>          
    </fieldset>
</form>

JS код

function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();
        reader.onload = function (e) {
            $('#image').attr('src', e.target.result);
        };
        reader.readAsDataURL(input.files[0]);
    }
}
$("#imgInput").change(function(){
    readURL(this);
});
Answer 1

Гадаю: у Вас не загружена библиотека jQuery.

Попробуйте - это Ваш код:

function readURL(input) { 
    if (input.files && input.files[0]) { 
        var reader = new FileReader(); 
        reader.onload = function (e) { 
            $('#image').attr('src', e.target.result); 
        }; 
        reader.readAsDataURL(input.files[0]); 
    } 
} 
 
$("#imgInput").change(function(){ 
    readURL(this); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<form name="" method="post" action="#" enctype="multipart/form-data" class="feedback-form-1"> 
    <fieldset> 
 
        <div class="input-file-row-1"> 
 
            <div class="upload-file-container"> 
                <img id="image" src="#" alt="" />                        
                <div class="upload-file-container-text"> 
                    <span>Add<br />photo</span> 
                    <input type="file" name="pic[]" class="photo" id="imgInput" /> 
                </div> 
            </div>               
 
        </div>           
    </fieldset> 
</form>

READ ALSO
javascript, jquery. Не включается функция при собитии

javascript, jquery. Не включается функция при собитии

ЗдравствуйтеНе могу понять, почему если я создал функцию выше и потом просто задаю её имя в обработчик событий, то она не работает

229
Hover на изображениях jquery

Hover на изображениях jquery

После наведения мыши на одно изображение ховер эффект воспроизводиться и на всех остальныхКак сделать, чтобы ховер (белый блок с текстом...

300
Как добавить fadeIn эффект?

Как добавить fadeIn эффект?

Привет! Хочу добавить эффект фэйдинга чтобы, когда прокручиваешь страницу вниз элементы начинали появлятьсяНа данный момент в скрипте есть

216