フォームに複数の入力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であると表示されます。助けていただければ幸いです、ありがとう!