Мне нужно удалить текст во входном [файле], если размер загруженного файла превышает 5 МБ

$('input:file').change(
function(e) {
    var files = e.originalEvent.target.files;
    for (var i=0, len=files.length; i<len; i++){
        var n = files[i].name,
            s = files[i].size,
            t = files[i].type;

        if (s > 5242880) {
            alert('Please deselect this file: "' + n + '," it\'s larger than the maximum filesize allowed. Sorry!');
        }
    }
});

Как я могу сделать?

http://jsfiddle.net/eHNJg/338/

Благодарность!

1
jonnywalker 25 Мар 2014 в 18:35

3 ответа

Лучший ответ

Вот код для этого:

$('#fileUpload').live('change',
    function(e) {
        alert('');
        var iSize = ($("#fileUpload")[0].files[0].size / 1024);

         if (iSize/1024 > 5)
         {
             $(this).val("");
         }



    });

См. ДЕМО .

1
Ehsan Sajjad 25 Мар 2014 в 18:53

Просто сделай это:

$('input[type=file]').val("");

После alert().

Я уменьшил ограничение на размер файла до для удобства тестирования.

Демо: http://jsfiddle.net/eHNJg/340/

0
Amit Joki 25 Мар 2014 в 18:38

Использовать

$(this).val("");

Вместо или после предупреждения

0
user3401335 25 Мар 2014 в 18:41