我有一个允许用户使用拖放功能上传图片的页面,我想将它们限制为只上传jpg文件。
我不得不承认,对于jquery来说,我是一个完全新手,所以我真的不知道如何使这项工作。
到目前为止我已经
了var files = e.dataTransfer.files;
var ext = $('#drop-files').val().split('.').pop().toLowerCase();
// Show the upload holder
$('#uploaded-holder').show();
// For each file
$.each(files, function(index, file) {
if($.inArray(ext, ['JPG','jpg','jpeg']) == -1) {
alert('invalid extension!');
return false;
}
因为它没有任何作用,如果我删除'return false'它会告诉我每个文件都无效并且无论如何都要上传它们。
由于
顺便说一下,我知道有一些未公开的括号,我只是希望有人会看到我在我提供的代码部分中遗漏的明显内容答案 0 :(得分:2)
问题是因为你从false
循环中的函数返回each
,而不是提交处理函数。试试这个:
// For each file
var validExtension = false;
$.each(files, function(index, file) {
if ($.inArray(ext, ['JPG','jpg','jpeg']) != -1 && !validExtension) {
validExtension = true;
}
}
return validExtension;