JavaScript PHP traiter liste déroulante

[Résolu/Fermé]
Signaler
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
-
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
-
Bonjour,

J'ai un formulaire contenant une liste déroulante puis des zones de texte. La valeur de mes zones de texte est le résultat d'une requête. Cette requête a pour condition la valeur de ma liste déroulante.

Je voudrais qu'au simple clic de la zone déroulante, mes zones de texte changent de valeur. Pour se faire, la plupart des internautes m'ont dit qu'on ne pouvait le faire qu'avec de l'Ajax. Seulement, je ne sais pas du tout l'utiliser, et de plus, quelqu'un m'a dit que l'on pouvait le faire seulement avec du JavaScript...

Je pense que la méthode à utiliser est la suivante: récupérer la valeur de la liste déroulante dans une variable JavaScript, Enregistrer cette valeur dans une variable PHP, Rediriger vers la page actuelle avec un S_GET contenant la valeur de la variable, (tout cela au simple clic sur la liste déroulante, donc tout cela je pense en JavaScript....) puis Enregistrer ce $_GET dans une variable PHP pour ensuite la traiter dans les requêtes de mes zones de texte.


Bref, est ce que ma méthode est possible ? Et pouvez vous m'expliquer le code pour effectuer tout ça...

Merci.



4 réponses

Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
73
"...Bref, est ce que ma méthode est possible ?..." : oui mais complexité inutile

- en ajax ou en javascript : tout dépend d'ou vient la donnée à afficher. si c'est pourafficher la valeur de la liste, javascript suffit. si c'est pourafficher la donnée d'une base de donnée sans recherger la page,il faut utiliser ajax.

voici un code correspodnant à ce que j'ai pu comprendre de la question
<script type="text/javascript" language="javascript"> 
function afficher(texte){
    document.getElementById("mon_texte").value=texte;
}
</script>

<form method="post" action="">
<select name="liste" onchange="afficher(this.value);">
<option value="aaa">a</option>
<option value="bbb">b</option>
<option value="ccc">c</option>
</select>

<input type="text" name="mon_texte" id="mon_texte" value="" />
</form>

-
4
Merci

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

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
En fait, j'ai deux formulaire à faire...

Le premier est un formulaire où le choix de la liste déroulante déterminera la condition de ma requête, cette requête me permet en effet de récupérer des données de ma BDD. Donc, d'après ce que tu dis il faut de l'ajax pour ce formulaire, alors je vais abandonner cette idée et essayé de traiter ce formulaire autrement.


Cependant, je pense que d'utiliser uniquement du javascript pour mon deuxième formulaire est possible. J'explique son fonctionnement: L'utilisateur choisit une valeur dans une première liste déroulante (un nomcategorie). Ma seconde liste déroulante contient par défaut toutes les données possibles d'une table (toutes les souscategories). Il faut que selon le choix de la première liste, je fasse passer certaines valeur en style=display:none (c'est à dire je veux ne pas afficher les sous categories qui ne correspondent pas à la catégorie choisit) . Je pense que c'est le même principe que le code que tu viens de me montrer, mais je n'arrive pas à trouver le code adéquat pour ma deuxième liste déroulante...
Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
73
recherche "chained select" pour trouver des scripts correspondants

sans ajax
https://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax/

avec ajax + php+mysql
https://remysharp.com/2007/09/18/auto-populate-multiple-select-boxes/
Messages postés
167
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
Même si la page est en anglais, c'est un très bon lien que tu m'as donné et puis ça ne fait pas de mal de travailler sur un doc en anglais ;) Merci à toi !