サイズ変更された写真をアップロードするコードを書いています。ここではそのためのHTMLフォームは次のとおりです。forループの後にJavascriptが動作しない
$('#uploadImageForm').on('submit', function(e){
e.preventDefault();
var ds = [];
var files = document.getElementById("fileToUploadId").files;
for (var i in files) {
if (typeof files[i] !== 'object') return false;
resize.photo(files[i], 1200, 'file', function (resizedFile) {
var resizedSize = resizedFile.size;
ds.push(resizedFile);
});
alert('for loop working'); //getting executed for each itteration
}
alert('final alert'); //not getting executed
console.log(ds);
});
しかし、コードのループが実行されません後:
<form action="aa.php" method="post" id="uploadImageForm" enctype="multipart/form-data">
<input type="file" id="fileToUploadId" name="fileToUpload[]" accept="image/jpeg, image/png" multiple />
<input type="submit" value="Upload Image" name="submit">
</form>
では、私はこのJavaScriptを実行しているよ提出します。写真の枚数のための 'for loop working'という警告は期待通りに表示されますが、「最終警告」は表示されません。
ここでは写真のサイズ変更が予想どおりに行われていることに注意してください。ここには含まれていないスクリプトファイルがあります。ただし、コンソールにエラーはありません。 私はchromeとfirefoxでコードを実行しており、両方とも同じ出力を与えています。
私はこのJavaScriptを送信しているので、最後に1つは、期待通りにaa.php
には行きません。
あなたは 'return'を使用しています。 'continue'を使います – Rajesh
jquery' $ .each'を実行した場合は 'return'を使います。' for'のjavascriptなので、 'continue'で次の項目にスキップします。 –
または、 'if'条件を反転し、' return'や 'continue'を使わないでください。 –