【发布时间】:2015-07-16 11:33:23
【问题描述】:
如何预览从不同输入上传的多张图片?
textarea 的内容在按下按钮时写入 div seeimg 内,textarea 包含 <img src="$img" id="img1"> ,id 是从 1 到 15 (img1,img2,img3...img15) 我想要图像由用户上传,以便在 div seeimg
HTML
<form method="post" enctype="multipart/form-data" id="mainform">
Imagine 1:<br>
<input type="file" name="img1" id="img1"><br>
<br><br>
Imagine 2 :<br>
<input type="file" name="img2" id="img2"><br>
<br>
Imagine 3 :<br>
<input type="file" name="img3" id="img3"><br>
<br>
Imagine 4 :<br>
<input type="file" name="img4" id="img4"><br>
<br>
Imagine 5 :<br>
<input type="file" name="img5" id="img5"><br>
<br>
Imagine 6 :<br>
<input type="file" name="img6" id="img6"><br>
<br>
Imagine 7 :<br>
<input type="file" name="img7" id="img7"><br>
<br>
Imagine 8 :<br>
<input type="file" name="img8" id="img8"><br>
<br>
Imagine 9 :<br>
<input type="file" name="img9" id="img9"><br>
<br>
Imagine 10 :<br>
<input type="file" name="img10" id="img10"><br>
<br>
Imagine 11 :<br>
<input type="file" name="img11" id="img11"><br>
<br>
Imagine 12 :<br>
<input type="file" name="img12" id="img12"><br>
<br>
Imagine 13 :<br>
<input type="file" name="img13" id="img13"><br>
<br>
Imagine 14 :<br>
<input type="file" name="img14" id="img14"><br>
<br>
Imagine 15 :<br>
<textarea id="insert" name="content"></textarea>
<input type="file" name="img15" id="img15"><br>
</form>
<div id="seeimg">
</div>
到目前为止,它只显示上传到第一个输入文件 <input type="file" name="img1" id="img1"> 的图像的脚本,如果我不断更改第一个输入的图像,它会更改下一个而不是第一个。
jQuery
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
console.log(e.target.result+" , "+i);
$('#seeimg #img'+i).attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("form#mainform #img"+i).change(function(){
readURL(this);
i++;
});
TL;DR 只为第一个文件输入工作的脚本,如果我上传另一张图片,它会不断更改其他 img src。
【问题讨论】:
-
只是想知道上面的代码是如何工作的:(
-
@sanjeev 试试小提琴
-
刚刚添加了一个答案,希望它能告诉你想要实现的路径
标签: javascript jquery html css