我有一个输入字段,允许我选择多个文件(在我的情况下是图像),问题是,当我选择多一个文件时,它只会在谷歌浏览器中显示一个。但是,它在IE上运行得很好,因此不确定问题的来源。任何想法?
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
<label class="btn btn-primary" for="my-file-selector">
<input id="my-file-selector" type="file" name="files[]" style="display:none;" multiple onchange="$('#upload-file-info').html($(this).val());">Browse</label>
<span class='label label-info' id="upload-file-info"></span>
<div style="float:right;">
<label class="btn btn-primary" for="my-file-selector2">
<input id="my-file-selector2" type="Submit" style="display:none;" name="search">Import</label>
</div>
</form>
答案 0 :(得分:1)
这与您的浏览器无关。
$(this).val() // This only contains the last file name
$(this).prop('files');
确实包含所有上传的文件作为FileList对象。
循环files属性并将所有名称放在#upload-file-info
$('#my-file-selector').on('change', function(e){
$('#upload-file-info').html(""); //clear the info before appending
var files = $(this).prop('files');
for (var i = 0; i < files.length; i++) {
$('#upload-file-info').append(files[i].name);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" method="post" enctype="multipart/form-data">
<label class="btn btn-primary" for="my-file-selector">
<input id="my-file-selector" type="file" name="files[]" style="display:none;" multiple>Browse</label>
<span class='label label-info' id="upload-file-info"></span>
<div style="float:right;">
<label class="btn btn-primary" for="my-file-selector2">
<input id="my-file-selector2" type="Submit" style="display:none;" name="search">Import</label>
</div>
</form>
有关浏览器规范中的文件的详细信息:
答案 1 :(得分:-3)
尝试在浏览器选择中使用放大器规格