Javascript JQuery循环所有文件输入字段以获得大小
我正在尝试遍历所有文件输入字段,并设置一条错误消息(如果任何字段超过5MB),作为表单验证的第一步 我正在使用提交按钮上的单击事件。问题是“键”没有定义 此表单最多可以有10个文件输入字段,通过名为Javascript JQuery循环所有文件输入字段以获得大小,javascript,jquery,Javascript,Jquery,我正在尝试遍历所有文件输入字段,并设置一条错误消息(如果任何字段超过5MB),作为表单验证的第一步 我正在使用提交按钮上的单击事件。问题是“键”没有定义 此表单最多可以有10个文件输入字段,通过名为images[]AJAX添加 /* loop through all file inputs to check size */ $("#my-form").find("input[type='file']").each(function(key, value) {
images[]
AJAX添加
/* loop through all file inputs to check size */
$("#my-form").find("input[type='file']").each(function(key, value) {
var el = this.files[key];
if(el.size > 5242880 || el.fileSize > 5242880) {
errorMessage = 'Files must be less than 5MB.';
}
});
如果我使用this.files[0]
我可以得到第一个字段的大小,但是在遍历所有元素时遇到问题。感谢您的意见或其他解决方案。多谢 你可以这样做
$("#my-form").find("input[type=file]").each(function(index, field){
const file = field.files[0];
if(file.size > 5242880 || file.fileSize > 5242880) {
errorMessage = 'Files must be less than 5MB.';
}
});
这是一把小提琴:
对于具有多个属性的文件输入
$("#my-form").find("input[type=file]").each(function(index, field){
for(var i=0;i<field.files.length;i++) {
const file = field.files[i];
if(file.size > 5242880 || file.fileSize > 5242880) {
errorMessage = 'Files must be less than 5MB.';
alert(errorMessage);
}
}
});
$(“#我的表单”).find(“输入[type=file]”)。每个(函数(索引,字段){
对于(变量i=0;i 5242880 | | file.fileSize>5242880){
errorMessage='文件必须小于5MB';
警报(错误消息);
}
}
});
这是一把小提琴:
第二个键非常适合用于任何单个或多个文件输入。我在获取第一个键[0]时没有问题,它是后面的键。你的小提琴只对第一个有效。我刚刚检查了它对两个不同输入中的两个文件有效。也许我不明白你到底想要什么。它是关于多个文件输入的吗?将第一个文件留空,只在第二个输入中添加一个文件。如果发现变量
file
未定义,则转到错误处理,跳过它或执行任何操作。我看到您在小提琴中添加了for循环。让我明天更新我的代码,我想这会有用的。