0

フォームに複数の入力type=fileタグがあります。1 つが非表示になることもあれば、複数が動的に作成されることもあります。フォームの送信時に、各ファイルのファイル サイズを確認し、それらを合計して、設定した最大値を超えているかどうかを確認したいと思います。

以下のコードを書きました。

function AcceptableFileUpload() {
    var totalsize = 0;
    var fileUploads = $("#form1 input[type=file]").length;
    for (var i = 0; i < fileUploads; i++) {
        //I added this to check whether there is any file here 
        //as I was receiving undefined when my hidden input file was checked
        if ($('#form1 input[type=file]').get(i).length > 0) {
            var filesize = $('#form1 input[type=file]').get(i).files[0].size;
            totalsize = +filesize;
        }
    }
    if (totalsize > 1073741) {
        alert("File size limit exceeded");
        return false;
    }
    return true;
}

私が使用しただけvar filesize = $('#form1 input[type=file]').get(0).files[0].size;では、ファイルサイズは正しく取得されましたが、上記のように機能せず、サイズが常に0であると表示されます。助けていただければ幸いです、ありがとう!

4

1 に答える 1