用于检查多个文件的总大小的简单javascript循环 [英] Simple javascript loop for checking total size of multiple file
问题描述
如何将此代码实现为20个文件的循环?他们将拥有id =myFile1,myFile2等。
< script type =text / javascript>
var myFile = document.getElementById('myFile');
myFile.addEventListener('change',function(){
alert(this.files [0] .size);
});
< / script>
我的第一个想法是做20个脚本,但我真的不认为这将是一个很好的解决方案,我真的更喜欢干净的代码。
我试过这个...但由于某种原因无效 - 第二个文件报告NaN而不是文件大小(以字节为单位) 。
< script type =text / javascript>
var myFile = document.getElementById('myFile');
myFile.addEventListener('change',function(){
var totalSize = this.files [0] .size;
alert(totalSize);
});
< / script>
< script type =text / javascript>
var myFile1 = document.getElementById('myFile1');
myFile1.addEventListener('change',function(){
var totalSize = totalSize + this.files [0] .size;
alert(totalSize);
});
< / script>
我还想实现一个IF条件,只有当totalSize大于7 MB时才会发出警报,这意味着我需要 totalSize /(1024 * 1024)
- 这很容易,但不是循环。
<你能帮我建一个可以计算所有文件的totalSize的工作循环吗? myFile的ID是
输入类型=文件
元素。尝试并使用以下逻辑:
< script type =text / javascript>
var totalSize = 0;
function checkSize(){
totalSize = totalSize + this.files [0] .size;
alert(totalSize); //写逻辑来检查大小验证等。这里
}
for(var i = 1; i< = 20; i ++)
{
var myFile = document.getElementById( 'MYFILE' + I);
myFile.addEventListener('change',checkSize);
}
< / script>
How can I implement this code into a loop for 20 files? They will have id="myFile1", "myFile2" etc.
<script type="text/javascript">
var myFile = document.getElementById('myFile');
myFile.addEventListener('change', function() {
alert(this.files[0].size);
});
</script>
My first idea was to do 20 scripts, but I don' really think that it would be good solution, I really prefer clean code.
I tried this... but doesn't work for some reason - the second file reports "NaN" instead of file size in bytes.
<script type="text/javascript">
var myFile = document.getElementById('myFile');
myFile.addEventListener('change', function() {
var totalSize = this.files[0].size;
alert(totalSize);
});
</script>
<script type="text/javascript">
var myFile1 = document.getElementById('myFile1');
myFile1.addEventListener('change', function() {
var totalSize = totalSize + this.files[0].size;
alert(totalSize);
});
</script>
I would also like to implement an IF conditional that would alert only if the totalSize were bigger than 7 MB, that means that I need the totalSize/(1024*1024)
- easy to do, but not the loop .
Could you please help me building a working loop that would count the totalSize of all the files? myFile is an ID of input type="file"
element.
Try and use following logic:
<script type="text/javascript">
var totalSize=0;
function checkSize() {
totalSize = totalSize + this.files[0].size;
alert(totalSize); //write logic to check size validation etc. here
}
for(var i=1;i<=20;i++)
{
var myFile = document.getElementById('myFile'+i);
myFile.addEventListener('change',checkSize);
}
</script>
这篇关于用于检查多个文件的总大小的简单javascript循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!