HTML5:如何计算多输入字段中文件的长度

时间:2011-08-21 15:40:06

标签: jquery html5 file-upload

如何使用jquery计算多输入字段中文件的长度?

alert($('#myForm input[type=file]').files.length);
<input type="file" multiple="multiple" name="file[]"/>

错误:

  

$(“#myForm input [type = file]”)。文件未定义

它可以使用普通的js查找,但我不想在输入字段中使用ID。

alert(document.getElementById('file').files.length);

<input type="file" multiple="multiple" name="file[]" id="file"/>

3 个答案:

答案 0 :(得分:14)

尝试使用.get方法获取原生DOM元素:

$('#myForm input[type=file]').get(0).files.length

但是请注意,如果你有多个与你的选择器匹配的DOM元素,那么它将返回第一个,如果没有,则显然会抛出异常。

答案 1 :(得分:3)

这些答案都不适用于新的html 5多重标记。所以如果你有像

这样的东西
<input type="file" name="filesToUpload[]" id="filesToUpload" multiple="multiple" size="20" />

注意多标签,JQ无法获取这些文件中的每一个,只获得其中一个,我现在几乎尝试了所有可能的选择器,但无济于事。

然而如前所述,标准Javascript有效:

 alert(document.getElementById('filesToUpload').files.length);

答案 2 :(得分:-1)

你可以试试 alert($('#myForm input[type=file]').length); 要么 alert($('#myForm input[type=file]').size());

alert($('#file').size());alert($('#file').length);