Restablecer alguna entrada en un formulario

Cómo necesito RESTABLECER un formulario sin tocar la entrada "oculta" y "enviar", intenté lo siguiente pero no funciona,

$("#myForm textarea input[type!='submit'] input[type!='hidden']").val('');

¿Cómo puedo hacerlo usando Jquery?

preguntado el 08 de noviembre de 11 a las 16:11

2 Respuestas

La forma más sencilla es seleccionar todos los campos de entrada y luego filtrar Saca lo que no quieres y restablece los que te quedan.

$("#myForm :input").filter(function() { 
    return !($(this).is(':submit') || $(this).attr('type') == 'hidden');
}).val('');

http://jsfiddle.net/infernalbadger/rpRqX/

Alternativa sin usar filtro:

$("#myForm :input").not(':submit').not('[type="hidden"]').val('');

http://jsfiddle.net/infernalbadger/rpRqX/1/

respondido 08 nov., 11:20

$("#myForm :input:not(:hidden):not(:submit)").val('');

Tenga en cuenta que :hidden también selecciona elementos ocultos, si solo desea type="hidden" elementos de formulario pero no, por ejemplo, un oculto type="text" elemento, uso [type="hidden"] en vez.

O tal vez simplemente quieras hacer $('#myForm')[0].reset();

respondido 08 nov., 11:20

No funciona como input[type!='submit'] devuelve campos ocultos y input[type!='hidden'] devuelve envía - Richard Dalton

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.