以下代表我的脚本代码
<script>
$(document).ready(function (){
$("#checkfields").click(function (){
var file1=$("#file1").val();
if(file1){
var file_size=$('#file1')[0].files[0].size;
if(file_size<2097152){
var ext = $('#file1').val().split('.').pop().toLowerCase();
if($.inArray(ext,['jpg','jpeg','gif'])===-1){
alert("Invalid file extension");
return false;
}
}else{
alert("Screenshot size is too large.");
return false;
}
}else{
alert("fill all fields..");
return false;
}
});
});
</script>
以下代表我的代码
<form action="checkmobile.php" method="post" enctype="multipart/form-data" class="form-horizontal">
<div class="form-group">
<label for="element-13" class="control-label col-lg-2">Add Screenshots</label>
<div class="input-group">
<input type="file" id="file1" name="file[]" class="btn" multiple="multiple">
</div>
</div>
<div class="form-group">
<input type="submit" id="checkfields" class="btn btn-primary col-lg-offset-2" value="Add">
<button class="btn btn-default col-lg-offset-1">Cancel</button>
</div>
</form>
现在我想知道如何在jQuery中使用数组来验证输入下的所有选定文件。
如果我选择一个图像和一个视频,则必须检查图像和视频的验证。首先,如果图像正常,它将验证图像,然后它将通过无效扩展拒绝视频。
我想在提交按钮时验证所有文件,如果图像无效则返回错误,如果有图像选择了视频,那么它也会返回错误。
请帮忙。
答案 0 :(得分:2)
尝试使用以下代码 -
<script>
$(document).ready(function (){
$("#checkfields").click(function (){
//var modelname=$("#inputmodelname").val();
for (var i = 0; i < $("#file1").get(0).files.length; ++i) {
var file1=$("#file1").get(0).files[i].name;
if(file1){
var file_size=$("#file1").get(0).files[i].size;
if(file_size<2097152){
var ext = file1.split('.').pop().toLowerCase();
if($.inArray(ext,['jpg','jpeg','gif'])===-1){
alert("Invalid file extension");
return false;
}
}else{
alert("Screenshot size is too large.");
return false;
}
}else{
alert("fill all fields..");
return false;
}
}
});
});
</script>
它会单独验证所有选定的文件。我已经评论了你的modelname变量行,如果&#39;条件,因为我无法在HTML中找到与其相关的任何元素。