Je souhaite effacer tous les champs de saisie et de zone de texte d'un formulaire. Il fonctionne comme suit lors de l'utilisation d'un bouton d'entrée avec la reset
classe:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
Cela effacera tous les champs de la page, pas seulement ceux du formulaire. À quoi ressemblerait mon sélecteur pour la forme dans laquelle se trouve le bouton de réinitialisation?
Réponses:
la source
input[type=password]
champs.Pour jQuery 1.6+ :
Pour jQuery <1.6 :
Veuillez consulter cet article: réinitialisation d'un formulaire à plusieurs étapes avec jQuery
Ou
Comme le suggère jQuery :
la source
$(':input').not(':button, :submit, :reset, :hidden').removeAttr('checked').removeAttr('selected').not(':checkbox, select').val('').removeAttr('value');
. Il supprimera les valeurs par défaut (c'est-àvalue="something"
- dire , mais pas pour les cases à cocher ou les sélections.$(':input').not(':button, :submit, :reset, :hidden').removeAttr('checked').removeAttr('selected').not(':checkbox, :radio, select').val('');
(basé sur le commentaire de Jeppe Mariager-Lam)Une raison pour laquelle cela ne devrait pas être utilisé?
la source
form
, vous vous trompez. Vous auriez raison si le sélecteur l'étaitform
, mais c'est plutôt le sélecteur d'ID#form
.$("form").trigger('reset');
déclenche vraiment l'événement "reset" sur TOUS les<form>
éléments. Dans la plupart des cas, cela peut être faux. Mais$("#form").trigger('reset');
(indiqué dans la réponse d'origine) ne déclenche que l'événement "reset" sur l'élément dont l'id "form" est défini (accessible avec le#form
sélecteur). Et oui, un identifiant ne doit être utilisé qu'une seule fois, c'est pourquoi ils l'appellent "id", car il identifie sans équivoque un élément.Cela ne traitera pas les cas où les champs de saisie de formulaire ont des valeurs par défaut non vides.
Quelque chose comme ça devrait marcher
la source
si vous utilisez des sélecteurs et faites des valeurs pour vider des valeurs, cela ne réinitialise pas le formulaire, cela rend tous les champs vides. La réinitialisation consiste à créer le formulaire tel qu'il était avant toute action de modification de l'utilisateur après le chargement du formulaire côté serveur. S'il existe une entrée avec le nom "nom d'utilisateur" et que ce nom d'utilisateur a été prérempli du côté serveur, la plupart des solutions de cette page suppriment cette valeur d'entrée, ne la réinitialise pas à la valeur telle qu'elle était avant les modifications de l'utilisateur. Si vous devez réinitialiser le formulaire, utilisez ceci:
si vous n'avez pas besoin de réinitialiser le formulaire, mais remplissez toutes les entrées avec une certaine valeur, par exemple une valeur vide, vous pouvez utiliser la plupart des solutions d'autres commentaires.
la source
Simple mais fonctionne comme un charme.
la source
Si quelqu'un lit toujours ce fil, voici la solution la plus simple en utilisant non jQuery, mais du JavaScript simple. Si vos champs de saisie sont à l'intérieur d'un formulaire, il existe une simple commande de réinitialisation JavaScript:
Plus d'informations à ce sujet ici: http://www.w3schools.com/jsref/met_form_reset.asp
À votre santé!
la source
la source
Pourquoi cela doit-il être fait avec du JavaScript?
http://www.w3.org/TR/html5/the-input-element.html#attr-input-type-keywords
Voici un moyen de le faire avec jQuery, alors:
la source
.live()
est obsolète, et il est également lent / inutile. Vous pouvez simplement utiliser.bind()
ou.on()
.Si vous souhaitez vider toutes les zones de saisie quel que soit leur type, il suffit d'une minute
la source
J'ai le truc le plus simple pour réinitialiser le formulaire
ou
la source
Avec Javascript, vous pouvez simplement le faire avec cette syntaxe
getElementById("your-form-id").reset();
vous pouvez également utiliser jquery en appelant la fonction de réinitialisation de cette façon
$('#your-form-id')[0].reset();
N'oubliez pas de ne pas oublier
[0]
. Vous obtiendrez l'erreur suivante siJQuery fournit également un événement que vous pouvez utiliser
J'ai essayé et ça marche.
Remarque: il est important de noter que ces méthodes ne réinitialisent votre formulaire qu'à sa valeur initiale définie par le serveur lors du chargement de la page. Cela signifie que si votre entrée a été définie sur la valeur «valeur définie» avant d'effectuer une modification aléatoire, le champ sera réinitialisé à cette même valeur après l'appel de la méthode de réinitialisation.
J'espère que cela aide
la source
où
editPOIForm
est l'id
attribut de votre formulaire.la source
#editPOIForm
et la.each()
méthode n'a donc aucun sens. Même si vous avez ajouté cet identifiant à plusieurs formulaires, il n'en retournerait jamais qu'un seul.$('#editPOIForm').get(0).reset();
Pourquoi vous n'utilisez pas
document.getElementById("myId").reset();
? c'est simple et jolila source
Code testé et vérifié:
Javascript doit être inclus dans
$(document).ready
et il doit être conforme à votre logique.la source
La solution la plus simple et la meilleure est
$("#form")[0].reset();
Ne pas utiliser ici -
$(this)[0].reset();
la source
form.reset();
seront réinitialisées à ces valeurs et n'effaceront pas les entrées.Disons que si vous souhaitez effacer les champs et sauf accountType, dans le temps moyen, la liste déroulante sera réinitialisée à une valeur particulière, c'est-à-dire 'Tous'. Les champs restants doivent être réinitialisés pour être vides, c'est-à-dire la zone de texte. domaines particuliers comme notre exigence.
la source
J'utilise ceci:
Et voici mon bouton:
la source
Utilisez ce code où vous souhaitez appeler la fonction de réinitialisation normale par jQuery
Et écrire cette fonction hors site jQuery sur Document Ready
la source
Certains d'entre vous se plaignaient que les radios et autres sont effacées de l'état "vérifié" par défaut ... Tout ce que vous avez à faire est d'ajouter les sélecteurs: radio,: au .not et le problème est résolu.
Si vous ne pouvez pas faire fonctionner toutes les autres fonctions de réinitialisation, celle-ci le fera.
Adapté de la réponse de ngen
la source
frmID
est l'identification du formulaireOnSuccess
de l'opération, nous appelons la fonction JavaScript avec le nom "ClearInput
"si vous faites les deux correctement, vous ne pourrez pas l'empêcher de fonctionner ...
la source
Le code suivant efface tout le formulaire et ses champs seront vides. Si vous souhaitez effacer uniquement un formulaire particulier si la page comporte plusieurs formulaires, veuillez mentionner l'identifiant ou la classe du formulaire
la source
Si je veux effacer tous les champs sauf accountType..Use the following
la source
le code que je vois ici et sur les questions SO connexes semble incomplet.
Réinitialiser un formulaire signifie définir les valeurs d'origine à partir du HTML, j'ai donc mis cela ensemble pour un petit projet que je faisais basé sur le code ci-dessus:
Veuillez me faire savoir si je manque quelque chose ou si quelque chose peut être amélioré.
la source
Rien de ce qui précède ne fonctionne dans un cas simple lorsque la page inclut un appel au contrôle utilisateur Web qui implique le traitement des demandes IHttpHandler (captcha). Après avoir envoyé le requsrt (pour le traitement d'image), le code ci-dessous n'efface pas les champs du formulaire (avant d'envoyer la demande HttpHandler) tout fonctionne correctement.
la source
J'ai écrit un plugin universel jQuery:
la source
Ajouter un bouton de réinitialisation caché comme suit
la source
$ ('formulaire'). submit (function () {
});
la source