IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Récupérer input contenu dans le "tampon" php


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut [AJAX] 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 ??

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Points : 183
    Points
    183
    Par défaut Recuperer via httpRequest.responseText

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    Que veux-tu que je fasse avec "document.getElementById("myDiv").innerHTML=xmlhttp.responseText;" ?

    Voici mon code actuel :

    *Ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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');
     
            })

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Points : 183
    Points
    183
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    success: function(data) {}

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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??

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Points : 183
    Points
    183
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    success: function(data) {
                            $('#retour').html(data + '<br />');
                            }

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    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...

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Points : 171
    Points
    171
    Par défaut
    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.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    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

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Points : 171
    Points
    171
    Par défaut
    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.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    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.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Points : 171
    Points
    171
    Par défaut
    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 ?

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 ???

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Points : 171
    Points
    171
    Par défaut
    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.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    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 ?

  16. #16
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    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...

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Points : 171
    Points
    171
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    C'est exactement ça !

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Points : 171
    Points
    171
    Par défaut
    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.

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    Oui c'est bien ça, le div ne se peuple pas...
    Et okkay, je vais mettre tout ça en place.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/12/2009, 19h52
  2. Réponses: 6
    Dernier message: 15/04/2009, 14h20
  3. Récupérer le contenu d'une page PHP
    Par Pragmateek dans le forum Réseau
    Réponses: 37
    Dernier message: 28/05/2006, 22h00
  4. Récupérer le contenu dans combobox
    Par alainconnu dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2006, 18h13
  5. Executer 1 script contenu dans une variable PHP
    Par emstar dans le forum Langage
    Réponses: 5
    Dernier message: 19/04/2006, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo