Quiero borrar todos los campos de entrada y textarea de un formulario. Funciona como lo siguiente cuando se utiliza un botón de entrada con la clase reset
:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
Esto borrará todos los campos de la página, no sólo los del formulario. ¿Cómo se vería mi selector sólo para el formulario en el que se encuentra el botón de reinicio?
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, consulte este post: https://stackoverflow.com/questions/680241/blank-out-a-form-with-jquery
O
$('#myform')[0].reset();
Como jQuery sugiere:
Para recuperar y cambiar las propiedades del DOM, como el estado checked
, selected
o disabled
de los elementos del formulario, utilice el método .prop().
¿Por qué hay que hacerlo con JavaScript?
<form>
<!-- snip -->
<input type="reset" value="Reset"/>
</form>
http://www.w3.org/TR/html5/the-input-element.html#attr-input-type-keywords
Probé ese primero, no borra los campos con valores por defecto.
Aquí's una manera de hacerlo con jQuery, entonces:
$('.reset').on('click', function() {
$(this).closest('form').find('input[type=text], textarea').val('');
});