Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取上载字段的值并计算数组_Javascript_Html_Forms - Fatal编程技术网

Javascript 获取上载字段的值并计算数组

Javascript 获取上载字段的值并计算数组,javascript,html,forms,Javascript,Html,Forms,我有以下html代码: <form name="uploadForm" action="" method="POST" enctype="multipart/form-data"> <input type="file" name="file_sub[]" /> <input type="file" name="file_sub[]" /> <input type="file" name="file_sub[]" /> <input type=

我有以下html代码:

<form name="uploadForm" action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file_sub[]" />
<input type="file" name="file_sub[]" />
<input type="file" name="file_sub[]" />
<input type="file" name="file_sub[]" />
<input type="file" name="file_sub[]" />
<input type="button" onClick="javascript:submitform();" value="SUBMIT BTN" />
</form>
javascript应该验证并确保文件字段中至少有
minUpload
个字段包含一个文件


但由于某种原因,当我试图在函数中获取文件长度时,我得到了一个错误(根据chrome的调试器,我得到了“UncaughtTypeError:无法读取undefined的属性‘length’”),但是我尝试了与复选框相同的方法,效果很好。我做错了什么?甚至可以在js中执行这样的任务吗

您必须参考
文件\u sub[]
。固定功能:

var count = document.uploadForm["file_sub[]"].length;

function submitform(){
    var minUpload = 1;
    var uploadNo;
    var files = document.forms['uploadForm']["file_sub[]"];
    var count = files.length;
    for(var a=0; a<count; a++){
        if(files[a].value != ''){
            uploadNo++;
        }
    }

    if(uploadNo > minUpload){   
        document.forms['uploadForm'].submit();
    } else {
        alert('Please Upload Atleast ' + minUpload + ' files');
    }
}
var count=document.uploadForm[“file_sub[]”长度;
函数submitform(){
var minUpload=1;
var上传no;
var files=document.forms['uploadForm'][“file_sub[]”;
var count=files.length;
对于(var a=0;一分钟){
document.forms['uploadForm'].submit();
}否则{
警报('请至少上载'+minUpload+'文件');
}
}

谢谢:)。。。这个问题已经解决了,但现在我不断收到
alert()
框,即使我将多个文件加载到表单中,它也不会提交表单!!知道为什么吗?知道。您必须初始化
var uploadNo=0。目前,它是
未定义的
undefined++
导致
NaN
,而
NaN++
保持
NaN
。因此,
NaN>minUpload
始终为false。
var count = document.uploadForm["file_sub[]"].length;

function submitform(){
    var minUpload = 1;
    var uploadNo;
    var files = document.forms['uploadForm']["file_sub[]"];
    var count = files.length;
    for(var a=0; a<count; a++){
        if(files[a].value != ''){
            uploadNo++;
        }
    }

    if(uploadNo > minUpload){   
        document.forms['uploadForm'].submit();
    } else {
        alert('Please Upload Atleast ' + minUpload + ' files');
    }
}