将输入文件(多个文件)保存到数组var js,jquery中

时间:2015-01-13 15:51:14

标签: javascript jquery

html标记:

<form action="" method="post" enctype="multipart/form-data">
    <input id="fileSelect" type="file" id="file" name="files[]" multiple="multiple" accept="image/*" />
    <input type="submit" value="Upload!" onclick='showFileModified();' />
</form>

脚本:

<script type='text/javascript'>
function showFileModified()
{
    var input, file;

    input = document.getElementById( 'fileSelect' );

        file = input.files[0];

        file.lastModifiedDate;
        alert(file.lastModifiedDate);
}
</script>

如果我选择多个文件,请说4个文件。我希望每个文件修改日期alert(file.lastModifiedDate)。我如何在这里使用数组来实现这一目标。

我尝试了什么:

function showFileModified()
{
        var input[], file;

        input = document.getElementById( 'fileSelect' );

        for(var i=0; i<=input.length; i++)
        {
            alert('d');
            file = input.files[i];

            file.lastModifiedDate;
            alert(file.lastModifiedDate);

       }
}

1 个答案:

答案 0 :(得分:2)

您可以使用它来获取所有修改日期值:

function showFileModified(){
    var input = document.getElementById( 'fileSelect' );
    for (var i = 0; i < input.files.length; ++i){
        alert(input.files[i].lastModifiedDate);
    }      
}

input.files是一个列出了所有选定文件的数组。这就是你需要遍历这个数组的原因(通过从0循环到array.length - 1来实现)

但是你应该注意使用多个id作为单个标签,也不应该使用带有特殊字符的名称:

<input id="fileSelect" type="file" id="file" name="files[]" multiple="multiple" accept="image/*"/>

更好地使用这样的东西(你甚至不需要使用名称

<input id="fileSelect" type="file" name="fileSelector" multiple="multiple" accept="image/*" />