Eu quero limpar todos os campos de entrada e de área de texto de uma forma. Funciona como o seguinte ao utilizar um botão de entrada com a classe reset
:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
Isto irá limpar todos os campos da página, não apenas os do formulário. Como ficaria o meu selector para apenas o formulário em que vive o botão de reinicialização real?
**Para jQuery 1.6+***:
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.prop('checked', false)
.prop('selected', false);
**Para jQuery < 1.6***:
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
Por favor, veja este post: https://stackoverflow.com/questions/680241/blank-out-a-form-with-jquery
Ou
$('#myform')[0].reset();
Como jQuery sugere:
Para recuperar e alterar propriedades DOM como o
marcado
,selecionado
, oudesabilitado
estado dos elementos do formulário, utilize o método [.prop()][prop].
Por que precisa ser feito com qualquer JavaScript?
<form>
<!-- snip -->
<input type="reset" value="Reset"/>
</form>
http://www.w3.org/TR/html5/the-input-element.html#attr-input-type-keywords
Experimente esse primeiro, ganhou' não limpe campos com valores padrão.
Aqui'é uma maneira de fazer isso com jQuery, então:
$('.reset').on('click', function() {
$(this).closest('form').find('input[type=text], textarea').val('');
});