-2

嗨,如何在提交表单时准备好文件类型输入。我的html是这样的。

<input type="file" name="attachment[]" class="">
<input type="file" name="attachment[]" class="">
<input type="file" name="attachment[]" class="">

我在表单提交函数中使用此代码

if (window.File && window.FileReader && window.FileList && window.Blob) {

    var files = document.querySelectorAll("input[name='attachment']").files;

    if (files.length>0) {
        // CODE HERE
    }
}

但是在如果条件下,它总是向我显示文件未定义。

4

1 回答 1

0
  1. input[name='attachment']您应该使用查询input[name='attachment[]'],但是

  2. 节点集合不会有共享.files属性,您应该分别遍历每个节点的输入和处理 .files 属性:

_

if (window.File && window.FileReader && window.FileList && window.Blob) {
    var inputs = document.querySelectorAll("input[name='attachment[]']");
    for( var i=0;i<inputs.length;i++){
        console.log( inputs[i].files );
        // process the files of input i
    }
}

http://jsfiddle.net/3mwan/

于 2013-09-20T11:59:34.193 回答