137 votes

Comment réinitialiser (effacer) le formulaire grâce à JavaScript ?

J'ai essayé $("#client.frm").reset(); Alors comment réinitialiser le formulaire via jQuery ?

273voto

Nick Craver Points 313913

form.reset() est une méthode de l'élément DOM (et non une méthode de l'objet jQuery), donc vous avez besoin :

$("#client.frm")[0].reset();
//faster version:
$("#client")[0].reset();

Ou sans jQuery :

document.getElementById("client").reset();

Remarque : la fonction reset() ne fonctionne pas si le formulaire contient un champ avec un attribut :

name='reset'

47voto

user2057484 Points 91

Vous pouvez simplement le faire :

$("#client.frm").trigger('reset')

23voto

MahmoudS Points 6654

Solution JS pure est le suivant :

function clearForm(myFormElement) {

  var elements = myFormElement.elements;

  myFormElement.reset();

  for(i=0; i<elements.length; i++) {

  field_type = elements[i].type.toLowerCase();

  switch(field_type) {

    case "text":
    case "password":
    case "textarea":
          case "hidden":

      elements[i].value = "";
      break;

    case "radio":
    case "checkbox":
        if (elements[i].checked) {
          elements[i].checked = false;
      }
      break;

    case "select-one":
    case "select-multi":
                elements[i].selectedIndex = -1;
      break;

    default:
      break;
  }
    }
}

8voto

alexbobroff Points 11

Note, fonction form.reset() ne fonctionnera pas si certaines balises d'entrée du formulaire ont l'attribut name='reset'

6voto

Alpesh Points 2501

El .reset() n'efface pas les valeurs par défaut et le champ de la case à cocher et il y a beaucoup d'autres problèmes.

Afin de réinitialiser complètement le système, vérifiez le lien ci-dessous.

http://www.javascript-coder.com/javascript-form/javascript-reset-form.htm

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X