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] actualisation d'un champ select avec ajax et prototype


Sujet :

AJAX

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Par défaut [AJAX] actualisation d'un champ select avec ajax et prototype
    Bonjour, je suis soumis à un cas d'école, mais étant débutant je patauge un peu.

    J'ai un fichier php avec un select, une fonction ajax qui me permet d'actualiser un deuxième select en faisant appel à un deuxième fichier php qui s'actualise en fonction du choix du select un

    structure du fichier php principal :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <select  id ="CLIENT" onchange="montrercontactsdevis()">
          <option value="client1">1</option>
          <option value="client2">2</option>
          <option value="client3">3</option>
    </select>
     
    <div id="Contact1">
    </div>



    fonction ajax appelée :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function montrercontactsdevis()
    {	new Ajax.Updater('Contact1', 'listes/contactdevis.php' ,
    			{	method: 'get',
    				parameters: { client:  $F('CLIENT') }
    			}
    );
    };

    fichier php appelé par la fonction ajax : 'listes/contactdevis.php'


    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
    19
    20
    21
    22
    23
    24
    25
    <?php 
     
    require_once('../Connections/webgest.php');
    mysql_select_db($database_webgest, $webgest);
     
     
    $clicli = $_GET['client'];
    $query_CONTACT = "SELECT * FROM contacts WHERE CLIENT='$clicli' AND CORBEILLE !='1'";
    $CONTACT = mysql_query($query_CONTACT, $webgest) or die(mysql_error());
    $row_CONTACT = mysql_fetch_assoc($CONTACT);
    ?>
     
    <select id="lecontact">
     
     
    <?php
     
            do {?>
     
      <option value="<?php echo $row_CONTACT['NUMCONTACT']; ?>"><?php echo $row_CONTACT['PRENOM']." ".strtoupper($row_CONTACT['NOM']); ?></option>
    <?php ; }
    while ($row_CONTACT = mysql_fetch_assoc($CONTACT)); 
     
    ?>
    </select>




    Bilan de la chose :

    mon deuxième select s'actualise bien à l'écran, j'ai bien une mise à jour qui est effectuée, et à l'écran tout fonctionne. Sauf qu'après l'actualisation du deuxième select, mon code source de la page principale est inchangé, et je ne peux envoyer la valeur du select "lecontact" via un formulaire, puisqu'il n'apparait pas dans le code source.
    J'imagine que la structure n'est pas correcte, mais je n'ai pas trop d'idée, et je ne sais pas quelle est la bonne méthode à utiliser. Et vous ?

    Merci

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Si tu updates bien un conteneur qui se trouve dans un form, ca va fonctionner... à condition de mettre un name à ton select. Pour l'instant il n'y a qu'un id

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Par défaut
    J'ai trouvé une solution :

    j'ai supprimé la balise div "Contact1" dans le fichier php principal, et j'ai mis ça à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <select id="Contact1">
    </select>
    le fichier php appelé par la fonction ajax ne génère dynamiquement que les <options> ... </options> et ne contient donc pas de balise <select> </select>

    Et là ça fonctionne.

    Merci beaucoup pour ton aide, et je ne savais pas pour les NAME, bon à savoir !

  4. #4
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Citation Envoyé par rozierromain Voir le message
    J'ai trouvé une solution :

    j'ai supprimé la balise div "Contact1" dans le fichier php principal, et j'ai mis ça à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <select id="Contact1">
    </select>
    le fichier php appelé par la fonction ajax ne génère dynamiquement que les <options> ... </options> et ne contient donc pas de balise <select> </select>

    Et là ça fonctionne.
    Ça risque de ne pas fonctionner sous certains navigateurs (en particulier ceux produits à Richmond, Virginie Etats-Unis d'Amérique)...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Remplir dynamiquement un champ select avec ajax
    Par paquito dans le forum Symfony
    Réponses: 11
    Dernier message: 31/01/2014, 19h20
  2. remplir un select avec ajax
    Par gtraxx dans le forum jQuery
    Réponses: 4
    Dernier message: 12/06/2009, 09h31
  3. Réponses: 1
    Dernier message: 27/04/2009, 18h03
  4. [AJAX] Vérification de champ numerique avec ajax
    Par anouarsurvive dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 24/10/2008, 16h42
  5. Initialisation Select avec Ajax (php)
    Par VooDooNet dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 07/08/2007, 09h45

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