Javascript Java脚本文件读取器如何使其成为多文件读取器?
我不是最擅长JS的,但我的网站需要它,我希望能够阅读我选择的文件 这是输入Javascript Java脚本文件读取器如何使其成为多文件读取器?,javascript,Javascript,我不是最擅长JS的,但我的网站需要它,我希望能够阅读我选择的文件 这是输入 <form name="filUpload" action="" method="post" enctype="form-data"> <div class="form-group"> <label for="name">Name</label>
<form name="filUpload" action="" method="post" enctype="form-data">
<div class="form-group">
<label for="name">Name</label>
<input type="text" name="name" id="name" class="form-control" value="" placeholder="name">
</div>
<!-- Image upload start -->
<div class="form-group">
<label for="Top">Top</label>
<input onchange="readURL(this, '#thumbnail-Top');" class="form-control-file" type="file" name="userfile"/>
</div>
<div class="form-group">
<label for="Bottom">Bottom</label>
<input onchange="readURL(this);" class="form-control-file" type="file" name="userfile"/>
</div>
<div class="form-group">
<label for="Left">Left</label>
<input onchange="readURL(this);" class="form-control-file" type="file" name="userfile"/>
</div>
<label for="Right">Right</label>
<div class="form-group">
<input onchange="readURL(this);" class="form-control-file" type="file" name="userfile"/>
</div>
</div>
<!-- Image upload end -->
<div class="input-group">
<input type="submit" style="" class="btn btn-success m-3" value="Submit" name="btn_type_send" />
</div>
</form>
名称
顶部
底部
左边
赖特
这就是图片显示的地方,id=“thumboil-…”是下面脚本中使用的。我知道剧本里写的不对,但我想这就是我的问题所在。
我将在脚本部分解释
<div class="">
<div class="card m-2">
<h4 class="card-header text-center">Images</h4>
<div class="d-flex">
<div class="flex-fill">
<h5 class="card-header">Top</h5>
<div class="card-body">
<img class="card-img text-center" alt="" id="thumbnail-Top" src="#" style=""/>
</div>
</div>
<div class="flex-fill">
<h5 class="card-header">Bottom</h5>
<div class="card-body">
<img class="card-img text-center" alt="" id="thumbnail-Bottom" src="#" style=""/>
</div>
</div>
<div class="flex-fill">
<h5 class="card-header">Left</h5>
<div class="card-body">
<img class="card-img text-center" alt="" id="thumbnail-Left" src="#" style=""/>
</div>
</div>
<div class="flex-fill">
<h5 class="card-header">Right</h5>
<div class="card-body">
<img class="card-img text-center" alt="" id="thumbnail-Right" src="#" style=""/>
</div>
</div>
</div>
</div>
</div>
图像
顶部
底部
左边
赖特
这是剧本。我认为我的问题是我需要选择多个ID,但我不知道如何选择。我想能够为每个类别“顶部、底部、左侧、右侧”选择一个图像。如果可能的话,我也必须在另一边使用它,那里只有3个类别,“因为两边是相同的”
缩略图就是我刚才说的id
<script type="text/javascript">
function readURL(input, id) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$(id).attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
</script>
函数readURL(输入,id){
if(input.files&&input.files[0]){
var reader=new FileReader();
reader.onload=函数(e){
$(id).attr('src',e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
请举个例子,不胜感激 答案由@misorude给出 输入需要正确的onchange=“readURL();”如下所示:
纳文
上钢坯
外滩比勒德酒店
文斯特侧
højre侧
图像应该显示的位置看起来像这样“它不是真正的样式”
图像
顶部
底部
左边
赖特
脚本如下所示,函数readURL被更正,而$(id)被更正
<script type="text/javascript">
function readURL(input, id) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$(id).attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
函数readURL(输入,id){
if(input.files&&input.files[0]){
var reader=new FileReader();
reader.onload=函数(e){
$(id).attr('src',e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
步骤1:修复HTML。ID在HTML文档中必须是唯一的。我没有解释对吗?如果您想让预览输出的元素保持动态,那么您可以将id作为第二个参数传递给readURL函数。您想在每个输入字段中选择一个图像,还是在每个字段中选择多个图像?(因为当前您的文件输入元素设置了
multiple
属性,不确定这是否是您在此处实际需要的。)您的意思是这样的,函数readURL(input,#id,)?
<div class="card m-2">
<h4 class="card-header text-center">Images</h4>
<div class="d-flex">
<div class="flex-fill">
<h5 class="card-header">Top</h5>
<div class="card-body">
<img class="card-img text-center" alt="" id="thumbnail-Top" src="#" style=""/>
</div>
</div>
<div class="flex-fill">
<h5 class="card-header">Bottom</h5>
<div class="card-body">
<img class="card-img text-center" alt="" id="thumbnail-Bottom" src="#" style=""/>
</div>
</div>
<div class="flex-fill">
<h5 class="card-header">Left</h5>
<div class="card-body">
<img class="card-img text-center" alt="" id="thumbnail-Left" src="#" style=""/>
</div>
</div>
<div class="flex-fill">
<h5 class="card-header">Right</h5>
<div class="card-body">
<img class="card-img text-center" alt="" id="thumbnail-Right" src="#" style=""/>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function readURL(input, id) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$(id).attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}