仅尝试对多个文件上传进行基本验证。它仅验证第一个文件。我找不到我在哪里做错了。帮我验证表格。
已更新了代码的实际场景。
HTML
<form id="img_multiple">
<div id="append">
<input type="file" name="img[]" id="img" class="img" />
</div>
<button class="add_img">Add</button>
<input type="submit" />
</form>
JS
$(document).on('click', '.add_img', function(){
var html = '';
var html = '<input type="file" name="img[]" id="img" class="img" />';
$('#append').append(html);
});
$(document).on('submit', '#img_multiple', function(e){
e.preventDefault();
if($(".img").val() != '')
{
var count_of = $(".img").get(0).files.length;
alert(count_of);
for (var i = 0; i < $(".img").get(0).files.length; ++i)
{
var img =$(".img").get(0).files[i].name;
var img_file_size=$(".img").get(0).files[i].size;
if(img_file_size<10485760)
{
var img_ext = img.split('.').pop().toLowerCase();
if($.inArray(img_ext,['jpg','jpeg','pdf','png'])===-1)
{
od_error = 'Yes';
$('#img_err').html("<span class='text-danger'>File ("+img+") type not allowed.</span>");
}
else
{
$('#img_err').html("");
}
}
else
{
od_error = 'Yes';
$('#img_err').html("<span class='text-danger'>File("+img+") size is too big.</span>");
}
}
}
else
{
od_error = 'Yes';
$('#img_err').html("<span class='text-danger'>Upload documents</span>");
}
});
答案 0 :(得分:-1)
请尝试使用id='img'
而不是class='img'
,而不要使用#img
来代替.img
。您收到的错误是因为id只能在一个元素中使用,但在这种情况下,您对3个元素使用了相同的id。
您还可以使用属性accept="image/*"
编辑:而不是您的
$(document).on('submit', '#img_multiple', function(e)
尝试使用此代码
$('.img').on('change', function(){
if($(this).val() != '')
{
var count_of = $(this).get(0).files.length;
alert(count_of);
for (var i = 0; i < $(this).get(0).files.length; ++i)
{
var img =$(this).get(0).files[i].name;
var img_file_size=$(this).get(0).files[i].size;
if(img_file_size<10485760)
{
var img_ext = img.split('.').pop().toLowerCase();
if($.inArray(img_ext,['jpg','jpeg','pdf','png'])===-1)
{
od_error = 'Yes';
$('#img_err').html("<span class='text-danger'>File ("+img+") type not allowed.</span>");
}
else
{
$('#img_err').html("");
}
}
else
{
od_error = 'Yes';
$('#img_err').html("<span class='text-danger'>File("+img+") size is too big.</span>");
}
}
}
else
{
od_error = 'Yes';
$('#img_err').html("<span class='text-danger'>Upload documents</span>");
}
});
还要在将按钮放置为的位置上编辑html代码
<button type='button' class="add_img">Add</button>