Quero limpar todos os campos de entrada e área de texto de um formulário. Funciona da seguinte maneira ao usar um botão de entrada com a reset
classe:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
Isso limpará todos os campos da página, não apenas os do formulário. Como seria o meu seletor exatamente como o botão de redefinição atual está localizado?
Respostas:
fonte
input[type=password]
campos.Para o jQuery 1.6+ :
Para jQuery <1.6 :
Consulte este post: Redefinindo um formulário de vários estágios com jQuery
Ou
Como o jQuery sugere :
fonte
$(':input').not(':button, :submit, :reset, :hidden').removeAttr('checked').removeAttr('selected').not(':checkbox, select').val('').removeAttr('value');
. Ela irá remover valores padrão (ou sejavalue="something"
, mas não para caixas de seleção ou seleciona.$(':input').not(':button, :submit, :reset, :hidden').removeAttr('checked').removeAttr('selected').not(':checkbox, :radio, select').val('');
(baseado no comentário do Jeppe Mariager-Lam)Alguma razão para isso não ser usado?
fonte
form
, está fazendo algo errado. Você estaria certo se o seletor fosseform
, mas é o seletor de ID#form
.$("form").trigger('reset');
realmente aciona o evento "reset" em TODOS os<form>
elementos. Na maioria dos casos, pode estar errado. Mas$("#form").trigger('reset');
(mostrado na resposta original) somente aciona o evento "reset" no elemento que possui o ID de "formulário" definido (acessível com o#form
seletor). E sim, um id deve ser usado apenas uma vez, é por isso que eles chamam de "id", porque identifica um elemento inequivocamente.Isso não trata dos casos em que os campos de entrada do formulário têm valores padrão não vazios.
Algo como deve funcionar
fonte
se você usar seletores e transformar valores em valores vazios, ele não redefinirá o formulário, mas todos os campos em branco. Redefinir é criar o formulário como antes de qualquer ação de edição do usuário após o carregamento do formulário do lado do servidor. Se houver uma entrada com o nome "nome de usuário" e esse nome de usuário tiver sido pré-preenchido do lado do servidor, a maioria das soluções nesta página excluirá esse valor da entrada, não o redefinirá para o valor que era antes da alteração do usuário. Se você precisar redefinir o formulário, use o seguinte:
se você não precisar redefinir o formulário, mas preencher todas as entradas com algum valor, por exemplo, valor vazio, poderá usar a maioria das soluções de outros comentários.
fonte
Simples, mas funciona como um encanto.
fonte
Se alguém ainda estiver lendo este tópico, aqui está a solução mais simples, usando não jQuery, mas JavaScript simples. Se seus campos de entrada estiverem dentro de um formulário, existe um comando simples de redefinição de JavaScript:
Saiba mais aqui: http://www.w3schools.com/jsref/met_form_reset.asp
Felicidades!
fonte
fonte
Por que ele precisa ser feito com JavaScript?
http://www.w3.org/TR/html5/the-input-element.html#attr-input-type-keywords
Aqui está uma maneira de fazer isso com o jQuery:
fonte
.live()
está obsoleto e também é lento / desnecessário. Você poderia apenas usar.bind()
ou.on()
.Se você deseja esvaziar todas as caixas de entrada, independentemente do seu tipo, é um minuto passo a passo
fonte
Tenho o truque mais fácil para redefinir o formulário
ou
fonte
Com Javascript, você pode simplesmente fazê-lo com esta sintaxe
getElementById("your-form-id").reset();
você também pode usar o jquery chamando a função reset dessa maneira
$('#your-form-id')[0].reset();
Lembre-se de não esquecer
[0]
. Você receberá o seguinte erro seO JQuery também fornece um evento que você pode usar
Eu tentei e funciona.
Nota: É importante observar que esses métodos somente redefinem seu formulário para o valor inicial definido pelo servidor no carregamento da página. Isso significa que, se sua entrada foi definida no valor 'valor definido' antes de você fazer uma alteração aleatória, o campo será redefinido para o mesmo valor depois que o método de redefinição for chamado.
Espero que ajude
fonte
onde
editPOIForm
é oid
atributo do seu formulário.fonte
#editPOIForm
e, portanto, o.each()
método não faz sentido. Mesmo se você adicionasse esse ID a vários formulários, ele retornaria apenas um deles.$('#editPOIForm').get(0).reset();
Por que você não usa
document.getElementById("myId").reset();
? este é o simples e bonitofonte
Código testado e verificado:
Javascript deve estar incluído
$(document).ready
e deve estar com sua lógica.fonte
A solução mais fácil e melhor é
$("#form")[0].reset();
Não use aqui -
$(this)[0].reset();
fonte
form.reset();
será redefinido para esses valores e não limpará as entradas.Digamos que, se você deseja limpar os campos e, exceto, accountType, na caixa suspensa de tempo médio será redefinida para um valor específico, ou seja, 'Todos' .Os campos restantes devem ser redefinidos para vazios, ou seja, caixa de texto. campos específicos como nossa exigência.
fonte
Eu uso isso :
E aqui está o meu botão:
fonte
Use este código onde você deseja chamar a função de redefinição normal por jQuery
E escreva esta função para fora do site jQuery no documento pronto
fonte
Alguns de vocês estavam reclamando que os rádios estão sem o status "marcado" padrão ... Tudo o que você precisa fazer é adicionar os seletores: radio,:: ao .not e o problema foi resolvido.
Se você não conseguir que todas as outras funções de redefinição funcionem, essa funcionará.
Adaptado da resposta da ngen
fonte
frmID
é a identificação do formulárioOnSuccess
da operação, chamamos a função JavaScript com o nome "ClearInput
"se você fizer as duas coisas corretamente, não poderá impedir que funcione ...
fonte
O código a seguir limpa todo o formulário e seus campos estarão vazios. Se você deseja limpar apenas um formulário específico, se a página tiver mais de um formulário, mencione o ID ou a classe do formulário
fonte
Se eu quiser limpar todos os campos, exceto accountType ... Use o seguinte
fonte
o código que vejo aqui e em questões relacionadas ao SO parece incompleto.
Redefinir um formulário significa definir os valores originais do HTML, então montei isso para um pequeno projeto que estava realizando com base no código acima:
Informe-me se estiver faltando alguma coisa ou algo pode ser melhorado.
fonte
Nenhuma das opções acima funciona em um caso simples quando a página inclui uma chamada para o controle do usuário da web que envolve o processamento de solicitação IHttpHandler (captcha). Depois de enviar o requsrt (para processamento de imagem), o código abaixo não limpa os campos no formulário (antes de enviar a solicitação HttpHandler), tudo funciona corretamente.
fonte
Eu escrevi um plugin jQuery universal:
fonte
Adicione o botão de redefinição oculto da seguinte maneira
fonte
$ ('form'). submit (function () {
});
fonte