Я хочу иметь форму с несколькими частями.Как создать загрузчик изображений с предварительным просмотром
Первой частью будет изображение, многократная загрузка файла с предварительным просмотром изображений перед фактической загрузкой.
Вторая часть имеет различные поля текстовой формы.
У меня есть вторая часть, построенная отлично и работает, используя PHP и MySQL, и загрузка изображений тоже работает. Но я не знаю, как показать предварительный просмотр изображений перед отправкой формы.
EDIT:
используя код формы ответа:
<input type='file' onchange="readURL(this);" />
<img id="blah" src="#" alt="your image" />
с:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah')
.attr('src', e.target.result)
.width(150)
.height(200);
};
reader.readAsDataURL(input.files[0]);
}
}
отлично работает, но он показывает только 1 миниатюру. Я хочу создать миниатюру изображения динамически для каждого файла.
Пытаюсь:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
var container = $('#previews');
var image = $('<img>').attr('src', e.target.result).width(150);
image.appendTo(container);
};
reader.readAsDataURL(input.files[0]);
}
}
с:
<input type='file' name="files[]" onchange="readURL(this);" multiple />
<div id="previews"></div>
, который работает, но как я кольцую для каждого файла вводится?
Просто добавьте новый параметр функции, как OnChange = "readURL (это, 0) [или я в цикле], добавьте тот же идентификатор в DIV изображения ниже поля ввода вызова функции (например, «previews0» или «previews» + $ i, ;;;;; В js добавьте параметр к имени функции «readURL (input, k)» и передайте его ниже на идентификатор div изображения, например «previews» + k ;;;;;; Все готово. –