page-translate

Effacer un formulaire avec jQuery

formulaire / Javascript / jQuery / Web

Important: Nous venons de migrer d'un site Wordpress vers Drupal alors il se peut qu'il y ait des liens brisés, des images qui ne s'affichent pas ou encore du code mal formatté. Nous travaillons fort pour régler ces problèmes le plus tôt possible.

Pour un formulaire qui contient plusieurs champs et qui s'étale sur plusieurs pages, il n'est pas toujours facile et efficace d'utiliser la fonction standard reset ().

Voici donc une méthode fort efficace, utilisant jQuery, qui vous permettra d'effacer tous les champs d'un formulaire.

function effacer () {
  $(':input','#id-formulaire')
   .not(':button, :submit, :reset, :hidden')
   .val('')
   .removeAttr('checked')
   .removeAttr('selected');
}

La fonction cherche tous éléments ayant comme sélecteur :input. Puisque nous lui passons l'argument #id-formulaire, la fonction ne cherchera que dans ce formulaire.

Ensuite, la fonction filtre les boutons, les submits, les resets et les hidden inputs en utilisant not(). Finalement, la fonction utilise val() pour donner une valeur nulle à tous les champs qui n'ont pas été écartés, et utilise removeAttr pour enlever l'attribut checked et selected au cas où le formulaire contient des champs radio/checkbox/select.

Commentaires

Si cela peux servir à qq, en fait, il faut écrire la fonction comme cela pour qu'elle fonctionne : function effacerFormulaire (formulaire) { $('#' + formulaire +' :input') .not(':button, :submit, :reset') .val('') .removeAttr('checked') .removeAttr('selected'); }
Bonjour, Je n'ai réussi à le faire fonctionner que comme ça : function effacer () { $('#id-formulaire :input') .not(':button, :submit, :reset, :hidden') .val('') .removeAttr('checked') .removeAttr('selected'); }
Bonjour, On peut améliorer cette fonction en rajoutant une variable d'entrée formulaire de sorte que ce soit réutilisable sans modification supplémentaire. Voici : <code>function effacer (formulaire) { $(formulaire+' :input') .not(':button, :submit, :reset') .val('') .removeAttr('checked') .removeAttr('selected'); }</code> du coup tu l'appel : <code> effacer('#id-formulaire'); </code>

Ajouter un commentaire

CAPTCHA
Êtes-vous un robot ?
Image CAPTCHA
Écrivez le code apparaissant dans l'image.

Derniers articles