Vider les champs d'un formulaire

[Fermé]
Signaler
-
 ndnadia -
Bonjour,

S'il vous plait j'ai besoin d'un code php pour annuler le choix dans les listes déroulantes.
J'ai un formulaire où il y a 4 listes déroulantes qui sont alimentées à partir d'une base de données MySQL, et 4 champs textes, lorsque je choisi une donnée dans la liste déroulante tout les autres champs se remplissent par les données qui correspondent au choix effectué. Par exemple si je choisi ds une liste déroulante le nom d'un pays, il m'affiche la capitale, la superficie le nbre d'habitant... qui correspond à ce pays, jusqu'ici tout va bien.
Le problème, je veux qu'en cliquant sur annuler il vide tout les champs et réinitialise les listes déroulantes(c à d il affiche la première ligne 'choisir un pays')
j'ai essayée:
<input type="reset" VALUE="Annuler">
mais ça ne marche pas :(

Merci d'avance

11 réponses

Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
Pourquoi ne pas utiliser le javascript ?

si ton menu déroulant est : <select name="menu" id="menu"> ....

on pe donc donner le même id à tous tes menus et apres en une seule ligne javascript:

<script language="javascript">
function reinit()
{
document.getElementById('menu').value = 'ta première valeur';
}
</script>

ceci va initialiser tous les elements dont l'id est "menu" sans avoir besoin de charger la page, à la limite tu crée un bouton pour executer ce script

<input type="button" name="reset" value="Annuler" onclick="reinit()" />

Bon travail
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

ok, j'ai trouvée la solution!

une fonction js qui efface le contenu des variables récupéré ds l'url:

La fonction js:
function annuler()
{
	window.location.href ="formulaire.php?pays="+''+"&capitale="+'';
}

<input type="reset" VALUE="Annuler" onclick="annuler();" >


Merci pr vous tous!
merci bcq!
Bonsoir,

A la limite tu recharges ta page ^^.

Bonne soirée .
Bonjour,
merci pour vos réponse, mais même si je recharge la page les champs texte se vident et les listes déroulantes ne se réinitialisent pas !!
j'ai essayée ton truc briiiiix mais ça n ' a pas marché :(
et je comprends pas pourquoi.
pas d'erreur affiché;

ceci le bout de code de la fonction qui m'affiche les listes déroulantes:
$listederoulante='<select class="select" id="menu" size="1" name="'.$nom_colonne.'" onchange="selection(this.name,this.value);">';

cela est le code du bouton 'annuler'
<input type="reset" VALUE="Annuler" onclick="reinit()">

et cela le js que tu viens de me le donner:
<script language="javascript">
function reinit()
{
document.getElementById('menu').value = '----choisir----';
}
</script>
Vraiment merci bcq de bien vouloir m'aider;
Le code fonctionne très bien pour les champs texte et deux listes déroulantes , alors que pour les deux autres listes il ne fonctionne pas ces deux listes retiennent leurs valeurs par une fonction js.
Je sais pas comment faire pour annuler le choix dans une liste déroulante, alors que la valeur du choix effectué ds cette liste est récupéré ds l'url?
Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
DSL, je suis pas dispo mnt, je réponds ce soir
Messages postés
269
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
20
Peut-être par une boucle :

for ( i=0; i < document.formulaire.elements.length;i++)
formulaire.elements[i].value = '';
Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
Quelle est l'erreur javascript qui s'affiche pour toi?

Sinon, puis je voir ce que t'as fait ?
Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
je viens de rectifier ton code pour que ça marche.
Il suffit que tu definit le code php qui rempli le menu.
Autre chose, evite d'utiliser php pour ecrire du code html, ceci peu te causer ce genre de problèmes.

*********************************************************
<script language="javascript">
function reinit()
{
document.getElementById('menu').value = '----choisir----';
}
</script>

<select class="select" id="menu" size="1" name="<?=$nom_colonne?>" onchange="selection('this.name','this.value')">
<option value="----choisir----">----choisir----</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="2">2</option>
</select>
<br />
<input type="reset" VALUE="Annuler" onclick="reinit()">
********************************************************

ce code fonctionne chez moi
Bon travail
Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
Tu as fais un appel a la même page, il s'agit de recharger la page en entier, donc, tu pourras perdre les logging dans d'autres champs si t'en a besoin.

Sinon tu pe construite tes menus en a jax et les reconstruire a chaque fois que t'as besoin.

Si ça t'interresse, je suis là.