2015-07-28 74 views
1

当我上传大小超过1Mb的图像时,警报正在工作,图像也上传了。谁能帮帮我吗?返回false不起作用,但警报正在工作

$(document).on('change', '#images', function(){ 
    files = this.files; 
    size = files[0].size; 

    if (size < 1000141) { 
     return true; 
     // exit(); 
     // end; 
    } 

    alert('Please upload less than 1mb file'); 
    return false; 
    return true; 
}); 

//to show the preview of uploaded image 
function readURL(input) { 
    if (input.files && input.files[0]) { 
     var reader = new FileReader(); 
     reader.onload = function (e) { 
     $('#blah').attr('src', e.target.result); 
     $('#blah').show(); 
    } 

    reader.readAsDataURL(input.files[0]); 
} 
} 

$("#images").change(function(){ 
    readURL(this); 
}); 
+3

您写了返回false并在alert后返回true? –

+0

on是一个听众,所以你的onchange仍然会继续。为什么不能在调用readURL之前进行验证,而不是作为单独的监听器。 – 2015-07-28 08:53:20

+1

'return true' after'return false' –

回答

-1

return false之后您得到了return true。将其更改为如下

$(document).on('change', '#images', function(){ 
    files = this.files; 
    size = files[0].size; 

    if (size < 1000141) { 
     return true; 
     // exit(); 
     // end; 
    } 

    alert('Please upload less than 1mb file'); 
    return false; 


}); 
//rest of your code