Utiliser les inputs générés avec Ajax

Eléphanteau du PHP | 31 Messages

19 mars 2011, 19:52

Bonjour à tous.

Alors voilà, j'ai écrit des fonctions en Ajax qui me permettent d'aller chercher deux " <select> " quand le premier change. C'est mon premier travail Ajax, je suis déjà mauvais avec Javascript alors c'était pas facile pour moi. Bref, pour mieux m'expliquer, c'est trois " <select> " le premier une liste de pays, quand j'en choisis un Ajax va remplacer le second avec une liste qu'Ajax est allé chercher (régions) et finalement, quand je change une valeur du second, le troisième est récupéré par Ajax (liste de villes).

Une fois le choix effectué j'aimerai envoyé les données de ce formulaire (c'était le but principal) mais j'ai l'impression que ça ne se passe pas comme ça. Quand je valide le formulaire pour afficher chaque input, j'ai des erreurs "undefined index" (les deux <select> qui sont en fait récupéré par Ajax). Alors voilà ma question, pour PHP les données que je vais chercher en Ajax ne sont pas sur la page? Comment puis-je faire pour envoyer mes deux autres données avec le formulaire?

Si je n'ai pas été clair, je pourrais envoyer un exemple.

Merci.

ViPHP
xTG
ViPHP | 7331 Messages

19 mars 2011, 20:21

Si tes deux select sont placés à l'intérieur des balises <form> il n'y aucun problème normalement.
Utilises ce code en haut du script PHP pour vérifier ce que tu reçois :
var_dump($_POST); // si le formulaire utilise la méthode POST
var_dump($_GET); // si le formulaire utilise la méthode GET

Eléphanteau du PHP | 31 Messages

19 mars 2011, 20:38

Merci beaucoup. Je vérifie déjà ce que je reçois et c'est pour ça que je me rend compte que mes deux <select> ne sont pas envoyé.

Enfait, à la génération de la page j'ai déjà deux <select> et ce qu'Ajax fait c'est qu'il les remplace par d'autres (qui ont le même nom évidement). C'est pour ça, je me dis que c'est peut-être parce qu'ils sont remplacés par Ajax (coté client) que PHP ne peut pas les voir.

ViPHP
xTG
ViPHP | 7331 Messages

20 mars 2011, 00:31

Et au niveau du code source généré par l'Ajax il les place bien au bon endroit sans faire de bourde dans le HTML ?
Tu peux vérifier le code avec Firebug par exemple qui prend en compte les modifications faites par le javascript.

Eléphanteau du PHP | 31 Messages

07 avr. 2011, 05:12

Oui j'ai tout vérifié. Enfait il s'agissait simplement d'une erreur dans le placement des mes tags HTML mais je ne le voyais pas. Stupide de ma part.

Merci pour votre aide!