Подтвердить что ты не робот

Как очистить ввод файлов

Ниже приведена часть кода jquery, в котором отображается вход файла и кнопка "Очистить файл" .

var $imagefile = $('<input />').attr({
    type: 'file',
    name: 'imageFile',
    class: 'imageFile'
});

$image.append($imagefile);

var $imageclear = $('<input />').attr({
    type: 'button',
    name: 'imageClear',
    class: 'imageClear',
    value: 'Clear File'
});

$image.append($imageclear);

Теперь у меня есть кнопка "Очистить файл" , потому что если вы нажмете на кнопку, то она очистит все, что находится в файле. Как его закодировать так, чтобы он фактически очищал ввод файла, когда я нажимаю кнопку "Очистить файл" ?

4b9b3361

Ответ 1

Это должно работать:

$imageClear.on('click', function() { 
    $imageFile.val(''); 
});

Ответ 2

Очистить ввод файла с помощью jQuery

$("#fileInputId").val(null);

Очистить ввод файла с помощью JavaScript

document.getElementById("fileInputId").value = null;

Ответ 3

Этот метод мне также нравится использовать, но я считаю, что вам нужно добавить параметр bool true в метод clone, чтобы любые события оставались присоединенными к новому объекту, и вам необходимо очистить содержимое.

    var input = $("#fileInput");

    function clearInput() {
        input = input.val('').clone(true);
    };

https://api.jquery.com/clone/

Ответ 4

Установив $("ID").val(null), у меня сработало

Ответ 5

Другое решение, если вы хотите быть уверенным в том, что это совместимо с браузерами, - это удалить() тег, а затем добавить() или prepend() или каким-либо другим способом повторно добавить новый экземпляр входного тега с теми же атрибутами.,

<form method="POST" enctype="multipart/form-data">
<label for="fileinput">
 <input type="file" name="fileinput" id="fileinput" />
</label>
</form>

$("#fileinput").remove();
$("<input>")
  .attr({
    type: 'file',
    id: 'fileinput',
    name: 'fileinput'
    })
  .appendTo($("label[for='fileinput']"));

Ответ 6

Я сделал что-то вроде этого, и он работает для меня

$('#fileInput').val(null); 

Ответ 7

В моем случае другие решения не работали, кроме этого:

$('.bootstrap-filestyle :input').val('');

Однако, если у вас будет более 1 файла ввода на странице, он сбросит текст на всех из них.

Ответ 8

получить входной идентификатор и положить val пусто, как показано ниже: Примечание. Не ставьте пробел между пустыми двойными кавычками val ("").

 $('#imageFileId').val("")

Ответ 9

этот код работает для всех браузеров и всех входов.

$('#your_target_input').attr('value', '');

Ответ 10

Это работает

 $("#yourINPUTfile").val("");