Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/05/2011, 17h33   #1
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Par défaut Récupérer input contenu dans le "tampon" php

Bonjour à tous,

J'ai une page php (le "tampon") contenant un INPUT avec son ID. Or sur ma page html (où se trouve l'ajax), j'affiche le résultat de cette page "tampon" avec un "<div id="xxx"></div>", normal...
Mais comment récupérer le $_POST['xxx'] de ce fait ??
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 18h00   #2
Membre régulier
 
Homme
Développeur Web
Inscription : octobre 2009
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Vietnam

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2009
Messages : 72
Points : 99
Points : 99
Par défaut Recuperer via httpRequest.responseText

http://www.w3schools.com/ajax/ajax_x...t_response.asp
matlow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 19h24   #3
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Que veux-tu que je fasse avec "document.getElementById("myDiv").innerHTML=xmlhttp.responseText;" ?

Voici mon code actuel :

*Ajax :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
        $(document).ready(function(){ 
        $('#my_div').change(function () {
            v =  $("#my_div option:selected").val();
            var dt = "myDiv="+v;
            $.ajax({
			type: "POST",
			url: "temp.php",
			data: dt,
                        success: function(data) {
                        $('#retour').html(data + '<br />');
                        }
            });
 
        })
        .trigger('change');
 
        })
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 21h45   #4
Membre régulier
 
Homme
Développeur Web
Inscription : octobre 2009
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Vietnam

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2009
Messages : 72
Points : 99
Points : 99
J'ai du mal à saisir la question:
Citation:
Envoyé par drogbaaz Voir le message
Mais comment récupérer le $_POST['xxx'] de ce fait ??
tu veux le récupérer sur temp.php ou bien sur la page html après réponse de la requête ajax
Code :
success: function(data) {}
matlow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 22h02   #5
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Non mais ça okkay ça marche
Je m'explique... Ci-avant le bout d'Ajax. Ensuite dans mon tempon.php j'ai : "echo "<label for='field'>".$_POST['myVar'].":</label>
<input id='field' type='text' name='field' style='width:200px;'/><br />";".

Ainsi le success transmet les résultats (data) du tempon.php à la div d'id "retour" :

Code :
1
2
3
success: function(data) {
                        $('#retour').html(data + '<br />');
                        }
Mais ensuite lorsque j'exécute le tout, tout se passe bien, sauf que lorsque je souhaite envoyer le $_POST['field'] dans l'insert de ma requête SQL, ça n'va point ; en effet, dans le code source de la page n'est présent uniquement le "<div id="retour"></div>"...

Comment dois-je faire pour récupérer les variables créée dans le tempon??
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 22h36   #6
Membre régulier
 
Homme
Développeur Web
Inscription : octobre 2009
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Vietnam

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2009
Messages : 72
Points : 99
Points : 99
Par défaut Intéret de tampon.php?

le cham field n'est pas renseigné, seulement le label
Citation:
Envoyé par drogbaaz Voir le message
Code :
1
2
 "echo "<label for='field'>".$_POST['myVar'].":</label>
<input id='field' type='text' name='field' style='width:200px;'/><br />";".
Quel est l'intéret de la requete ajax si tu renvoies tout le formulaire de tampon.php ?
Citation:
Envoyé par drogbaaz Voir le message
Ainsi le success transmet les résultats (data) du tempon.php à la div d'id "retour" :
Code :
1
2
3
success: function(data) {
                        $('#retour').html(data + '<br />');
                        }
matlow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 22h58   #7
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Non mais je souhaite récupérer la valeur de l'input...
La requête Ajax permet le changement de l'affichage du nombre et du type d'input en fonction de la valeur d'un select présent juste avant cet input, dans mon formulaire...
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 09h58   #8
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
Citation:
Envoyé par drogbaaz Voir le message
en effet, dans le code source de la page n'est présent uniquement le "<div id="retour"></div>"...
Ça c'est normal puisqu'à priori le div était vide au chargement de la page et tu en as modifié le contenu ensuite. Le code source de la page est celui au chargement.
Il faut utiliser par exemple Firebug pour inspecter l'élément et vérifier que ton input est bien construit etc.
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 10h07   #9
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Ok mais comment récupérer de ce fait le $_POST de l'input vu que cette page se fait en back office ? Peut-être est-ce possible en implémentant l'INSERT dans ce tempon ?
Et sous FireBug, comment inspecter les variables PHP x) ? Désolé je m'initie à FireBug
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 10h29   #10
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
Firebug ne sert qu'à inspecter le code et le comportement client.

Ton appel AJAX qui est sensé envoyer la valeur de l'input à ton serveur, il fonctionne bien au moins ? Quand tu construits ta variable de données ("dt" dans ton exemple précédent), il y a bien quelque-chose dedans ?

Avant de te pencher sur le traitement serveur (réceptionner des valeurs de formulaire, si les noms des variables sont bien respectées, n'a rien de sorcier), il faudrait s'assurer que ton envoi est correct.
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 11h02   #11
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Mon Ajax renvoie bien la variable en POST oui, et je la récupère parfaitement pour effectuer ma/mes requête(s) dans mon temon.php.
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 11h06   #12
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
Quel est le problème alors si tu récupères la valeur de ton input et que tu peux faire tes requêtes SQL ?
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 11h17   #13
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Une fois les requêtes effectuées dans le tempon.php, ça me ressort telle ou telle structure d'INPUTs en fonction de l'ID du $_POST réceptionné dans le tempon.php.
Comme je viens de le dire, ça créé donc des INPUTs. Or ces INPUTs, je souhaite les récupérer afin d'effectuer une AUTRE requête, cette fois-ci présente sur la page où est présent l'Ajax, là où se trouve déjà un formulaire, qui est donc complété par

Code :
<div id="mesInput"></div>
et mes INPUTs. Il s'y trouve bel et bien physiquement, sauf que lorsque je regarde le code source de la page, n'y est présent seulement la div (ce qui est tout à fait normal).

Alors, comment récupérer ces INPUTs présents uniquement dans la page tempon.php ???
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 11h29   #14
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
C'est bien ce que je te disais avant, après ta première requête Ajax grâce à laquelle tu peuples ton Div d'input, il ne faut pas afficher le code source mais inspecter le contenu avec Firebug pour s'assurer que tes inputs sont bien formés (avec un attribut name etc.)

Ensuite quand tu fais ton second appel Ajax pour traiter les valeurs de tes inputs, il faut bien s'assurer que les valeurs sont bien envoyées.
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 13h23   #15
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Et comment inspecter le contenu du tempon.php grâce à FireBug ??
De plus le second appel Ajax je ne l'ai pas encore fait, comment dois-je l'implémenter ?
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 13h34   #16
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 803
Points : 35 803
Citation:
Envoyé par drogbaaz
Et comment inspecter le contenu du tempon.php grâce à FireBug ??
Certains chamanes hindous prétendent que si tu le souhaites très fort et que ton âme est pure, ça finira par être possible...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 13h50   #17
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
J'ai l'impression que tu manipules des morceaux de code que tu ne comprends pas ...

Si j'ai bien compris, tu as quelque-chose du genre au chargement de la page
Code :
1
2
3
4
5
6
 
<select id="my_div">
<option value="1">Quelque-chose</option>
<option value="2">Autre chose</option>
</select>
<div id="retour"></div>
et tu voudrais qu'en choisissant par exemple le "Quelque-chose", tu obtiennes
Code :
1
2
3
4
 
<div id="retour">
<label for="field">Blabla</label><input id='field' type='text' name='field' style='width:200px;'/><br />
</div>
c'est bien ça ?
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 14h17   #18
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
C'est exactement ça !
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 14h25   #19
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
Ok, et qu'est-ce qui ne fonctionne pas ? Le div ne se peuple pas ?
Dans tous les cas, je te conseille de compléter ton appel ajax pour gérer les événements "error" et "complete" disponible avec jQuery pour que tu saches si ton serveur répond et ce qu'il te répond. Mets des alertes dans tous les embranchements pour savoir dans quel cas tu tombes.
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 14h29   #20
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Oui c'est bien ça, le div ne se peuple pas...
Et okkay, je vais mettre tout ça en place.
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h21.


 
 
 
 
Partenaires

Hébergement Web