Je voudrais effacer toutes les entrées, Sélectionne ainsi que tous les champs cachés dans un formulaire . Utiliser jQuery est une option si cela convient le mieux.
Quel est le moyen le plus simple de faire cela? Je veux dire facile à comprendre et à maintenir.
[MODIFIER]
La solution ne doit pas gâcher les cases à cocher (la valeur doit rester, mais l'état coché doit être effacé), ni le bouton d'envoi.
Ce que j'essaie de faire est un bouton vide, qui efface toutes les options entrées explicitement par l'utilisateur, ainsi que les champs cachés.
Merci!
$('#myform')[0].reset();
ou sans jQuery:
document.getElementById('myform').reset();
où myform
est l'id du formulaire contenant les éléments à effacer.
Vous pouvez également utiliser le sélecteur :input
si les champs ne sont pas dans un formulaire:
$(':input').val('');
Pour effacer toutes les entrées, y compris les champs cachés, à l'aide de JQuery:
// Behold the power of JQuery.
$('input').val('');
Les sélections sont plus difficiles, car elles ont une liste fixe. Voulez-vous effacer cette liste, ou simplement la sélection.
Pourrait être quelque chose comme
$('option').attr('selected', false);
$('#formID')[0].reset(); // Reset all form fields
J'avais un cas un peu plus spécialisé, un formulaire de recherche qui avait une entrée qui était autocomplete pour un nom de personne. Le code Javascript définit une entrée cachée que from.reset()
ne supprime pas.
Cependant, je ne voulais pas réinitialiser toutes les entrées cachées. Là, j'ai ajouté une classe, search-value
, aux entrées cachées où elles devaient être effacées.
$('form#search-form').reset();
$('form#search-form input[type=hidden].search-value').val('');
Si vous souhaitez appliquer une valeur claire à un nombre spécifique de champs, affectez-leur un identifiant ou une classe et appliquez-leur une valeur vide. comme ça:
$('.all_fields').val('');
où all_fields
est la classe appliquée aux champs d'entrée souhaités pour l'application des valeurs vides .a protégera les autres champs contre les champs vides que vous ne souhaitez pas modifier.
pour vider toutes les balises d’entrée telles que input, select, textatea etc. exécuter ce code
$('#message').val('').change();