Как отменить выбор, если он был выбран ранее в форме FileField Django?

У меня есть форма, которая включает поле файла для загрузки некоторых файлов. Иногда происходит следующее: сначала я выбираю один файл из списка для загрузки, но потом понимаю, что больше не хочу его загружать. Как я могу снова сделать его пустым?? Это похоже на то, что после заполнения этого поля его нельзя вернуть обратно в пустое??

заранее спасибо


person Karan    schedule 27.07.2012    source источник


Ответы (2)


Это можно сделать с помощью javascript.

Цитирование сообщения Очистить поле ввода файла загрузки с помощью jQuery из electrictoolbox. ком:

function reset_html(id) { $('#'+id).html($('#'+id).html()); }

$(документ).готовый(функция() {

var file_input_index = 0;
$('input[type=file]').each(function() {
    file_input_index++;
    $(this).wrap('<div id="file_input_container_'+
                  file_input_index+'"></div>');
    $(this).after('<input type="button" value="Clear" 
                   onclick="reset_html(\'file_input_container_'+
                                         file_input_index+'\')"
                   />');
});

});

person dani herrera    schedule 27.07.2012
comment
Спасибо за решение, на самом деле я использовал javascript для того же со ссылкой на gusiev .com/2009/04/clear-upload-file-input-field - person Karan; 27.07.2012

Если вы попытаетесь опубликовать непроверенную форму, при повторном отображении формы поле файла будет пустым.

Подробнее см. в этой проблеме. Поле файла формы Django исчезает при ошибке формы

Следующее работает для меня. Добавьте кнопку очистки в свой html

<input type="submit" name = "submit-clear" value="clear file">

Затем, по вашему мнению, обработайте эту кнопку, используя..

if 'submit-clear' in request.POST:
    return HttpResponseRedirect('')

Это должно очистить все поля файлов, но также удалит любые другие настройки, сделанные пользователем. Если вы хотите сохранить другие настройки и просто удалить поле файла, убедитесь, что форма не проверяется каким-либо образом, чтобы она отображалась снова.

person Ninga    schedule 24.08.2012