Как проверить входной файл пустым, а также отобразить предупреждение, если формат png выбран с помощью jquery

У меня есть загрузка входного файла, нужно проверить, какой файл загружен/если файл не выбран клиентом с помощью jquery.

<input type="file" name="files" id="file1" style="color:White" />
<input type="submit" value="Create" />

Проверка должна запускаться при нажатии кнопки отправки.

Ответы

Ответ 1

См. образец, который я создал:

http://jsfiddle.net/G7xke/


<form>
<input type="file" name="files" id="file1" style="color:White" />
<input type="submit" value="Create" />
</form>
<button value="check" id="check" name="check" >check</button>

И JavaScript:

$("#check").click(function(){
    var fileName = $("#file1").val();
    if(fileName.lastIndexOf("png")===fileName.length-3)
        alert("OK");
    else
        alert("Not PNG");
})

Ответ 2

Вы предпринимали какие-либо попытки сделать это?

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

Ответ 3

Эта демонстрация работает в IE9 + Chrome:

http://jsfiddle.net/brdFq/

используя JQuery, вы получите val();

Быстрая реализация здесь:

function hasFile(selector){
    //if there is a value, return true, else: false;
    return $(selector).val()? true: false;
}

Ответ 4

Тестирование для...

$('#file1')[0].files.length == 0

... работает для меня в Chrome. JQuery на самом деле даже не нужен, поскольку исходный HTML-элемент (возвращаемый [0] в объекте jQuery) предоставляет доступ к списку файлов.