Pergunta

Eu tenho um formulário que inclui um campo de arquivo para fazer upload de alguns arquivos.Às vezes, o que acontece é que, no início, seleciono um arquivo da navegação para fazer o upload, mas depois percebo que não quero mais carregá-lo. Como posso esvaziá-lo novamente?É assim que uma vez preenchido este campo ele não pode ser revertido para vazio?

desde já, obrigado

Foi útil?

Solução

Isso pode ser feito com javascript.

Citando Limpar campo de entrada do arquivo de upload com jQuery postagem de electrictoolbox.com:

função reset_html(id) { $('#'+id).html($('#'+id).html());}

$(documento).ready(function() {

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+'\')"
                   />');
});

});

Outras dicas

Se você tentar postar um formulário não validado, ao renderizar novamente o formulário, o campo de arquivo estará vazio.

Consulte este problema para obter mais explicações.O campo do arquivo de formulário do Django desaparece devido a um erro de formulário

O seguinte funciona para mim.Adicione um botão limpar ao seu html

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

Então, na sua opinião, manipule esse botão usando ..

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

Isso deve limpar todos os campos de arquivo, mas também removerá quaisquer outras configurações que o usuário tenha feito, se você quiser preservar outras configurações e apenas remover o campo de arquivo, certifique-se de que o formulário não seja validado de alguma forma para que seja renderizado novamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top