Ответ 1
Это должно работать:
$imageClear.on('click', function() {
$imageFile.val('');
});
Ниже приведена часть кода 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);
Теперь у меня есть кнопка "Очистить файл" , потому что если вы нажмете на кнопку, то она очистит все, что находится в файле. Как его закодировать так, чтобы он фактически очищал ввод файла, когда я нажимаю кнопку "Очистить файл" ?
Это должно работать:
$imageClear.on('click', function() {
$imageFile.val('');
});
Очистить ввод файла с помощью jQuery
$("#fileInputId").val(null);
Очистить ввод файла с помощью JavaScript
document.getElementById("fileInputId").value = null;
Этот метод мне также нравится использовать, но я считаю, что вам нужно добавить параметр bool true в метод clone, чтобы любые события оставались присоединенными к новому объекту, и вам необходимо очистить содержимое.
var input = $("#fileInput");
function clearInput() {
input = input.val('').clone(true);
};
Установив $("ID").val(null)
, у меня сработало
Другое решение, если вы хотите быть уверенным в том, что это совместимо с браузерами, - это удалить() тег, а затем добавить() или 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']"));
Я сделал что-то вроде этого, и он работает для меня
$('#fileInput').val(null);
В моем случае другие решения не работали, кроме этого:
$('.bootstrap-filestyle :input').val('');
Однако, если у вас будет более 1 файла ввода на странице, он сбросит текст на всех из них.
получить входной идентификатор и положить val пусто, как показано ниже: Примечание. Не ставьте пробел между пустыми двойными кавычками val ("").
$('#imageFileId').val("")
этот код работает для всех браузеров и всех входов.
$('#your_target_input').attr('value', '');
Это работает
$("#yourINPUTfile").val("");