2012-01-20 9 views
8

Quiero restablecer el formulario después de llamar a una función ajax. Este es el código que he dado en el jQuery:El restablecimiento de formulario no funciona con jquery

$("#frm_silder").reset(); 

Aquí frm_silder es el ID del formulario. Pero cuando estoy usando este código recibí un mensaje de error como este.

$("#frm_silder").reset is not a function 

En mi html i dan la identificación para formar así:

<form name="frm_silder" id="frm_silder" method="post"> 

Entonces, ¿cuál es el problema en mi código?

+0

has añadido o importado la biblioteca jquery en la página –

+0

sí, he añadido el archivo jquery – Kichu

Respuesta

25

En jQuery

$('#frm_silder')[0].reset(); 

en Javascript

document.getElementById('frm_silder').reset() 
+7

esto tampoco funciona para mí. . .? – pythonian29033

+1

Funciona bien para mí. Gracias Sameera. – Gavin

+1

Thaks, woks para mí también. –

3

tendrá que restablecer cada elemento individual. Jquery no tiene una función reset() que funciona en un formulario. reset() es una función de Javascript que solo funciona en elementos de formulario. Sin embargo, puede definir una nueva función de jquery reset() que recorre todos los elementos del formulario y llama al javascript reset() en cada uno de ellos.

$(document).ready(function(){ 
    $('a').click(function(){ 
     $('#reset').reset(); 
    }); 
}); 

// we define a function reset 
jQuery.fn.reset = function() { 
    $(this).each (function() { this.reset(); }); 
} 

Demo

Como alternativa, si no desea definir una función, se pueden recorrer los elementos del formulario

$(document).ready(function() { 
    $('a').click(function() { 
     $('#reset').each(function() { 
      this.reset(); 
     }); 
    }); 
}); 

Demo

Source

+1

jQuery no tiene un método 'reset()' porque JavaScript ya tiene uno. Llamar 'reset()' en un elemento de formulario (ver respuesta aceptada arriba) restablecerá todos los campos de formulario. Su método funciona en la mayoría de los casos, a menos que el formulario tenga un campo de entrada de Archivo. Su código no funcionará en todos los navegadores en ese caso. La única forma segura de borrar un campo de entrada de archivo es usar el método 'reset' de JavaScript. – Gavin