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

JavaScript Discussion :

[AJAX] Utilisation Ajax


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Par défaut [AJAX] Utilisation Ajax
    Bonjour,

    J'ai suivi le tutorial suivant :

    http://siddh.developpez.com/articles/ajax/

    Impeccable, j'ai pu l'adapter pour une de mes applications.
    Petit souci, je souhaite faire la même chose, mais avec 3 listes déroulantes (choix de la 1ère => incremente la deuxième => choix de la deuxième => incrémente la 3ème).
    Comment faire ?
    Car pour le moment, je cale !
    Si vous voulez mon code dite le moi

    Merci

  2. #2
    Membre éclairé Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Par défaut
    Salut nico ,

    J'ai eu le même besoin que toi il y a quelques semaines ...

    Si tu as pris le tuto de siddh ça risque d'aller vite

    Alors d 'abord il faut que tu rendes la fonction go generique , en lui passant 3 parametres : la source , l'adresse de la page web , et l'id pour le resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    function go( src , page , result )
    {
    page = page + ".php"; // ou ".asp" ça depend du langage of course
     
    ....
    document.getElementById(result).innerHTML = leselect;
    ...
    xhr.open("POST",page,true);
    ...
    sel = document.getElementById(src);
    ...
        xhr.send("Query="+scherche);
    ensuite dans ton code il faut appeler la fonction go proprement donc dans ton onchange ou onclick de ton select passe les bons arguements ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     onchange='go("leselect" , "la-page-ou-je-vais-faire-la-requete","le div ou je veux le resultat")
    voila Mr a priori ça rox keep me in touch dude...

  3. #3
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Par défaut
    Citation Envoyé par NeHuS
    Salut nico ,

    J'ai eu le même besoin que toi il y a quelques semaines ...

    Si tu as pris le tuto de siddh ça risque d'aller vite

    Alors d 'abord il faut que tu rendes la fonction go generique , en lui passant 3 parametres : la source , l'adresse de la page web , et l'id pour le resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    function go( src , page , result )
    {
    page = page + ".php"; // ou ".asp" ça depend du langage of course
     
    ....
    document.getElementById(result).innerHTML = leselect;
    ...
    xhr.open("POST",page,true);
    ...
    sel = document.getElementById(src);
    ...
        xhr.send("Query="+scherche);
    ensuite dans ton code il faut appeler la fonction go proprement donc dans ton onchange ou onclick de ton select passe les bons arguements ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     onchange='go("leselect" , "la-page-ou-je-vais-faire-la-requete","le div ou je veux le resultat")
    voila Mr a priori ça rox keep me in touch dude...
    Pas tout saisie, tu peux m'en dire plus stp ?
    Merci !

  4. #4
    Membre éclairé Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Par défaut
    Aller je vais prendre un exemple concret pour que tu saisisses

    exemple en asp ( mais en php c 'est kif kif bourricot comme dirait je sais plus qui )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    <select id="firstSelect" onchange='go("firstSelect","firstPageHttpRequest","firstDiv")' >
                <%
                     Call FillFirstSelect() // procedure qui rempli le select d'option 
                %>
                </select>
    la procedure que voila :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    sub FillFirstSelect()
     
    'connexion a la db etc...
    if not rs.eof then 
                Response.Write("<option value='-1'> Please select </option>")
                do while not rs.eof 
            Response.Write("<option value= '" & rs(0) & "'>" & rs(0) & "</option>")
                    rs.movenext                                                             
                Loop
            end if
            rs.close
    end sub
    la page firstPageHttpRequest.asp // ou php peu importe uniquement la methode pour recuperer la valeur du post et la connexion a la db changeront

    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
     
    req = request.form("Query")
    if (req <> "" )  then
     
    'requete sql
    WHERE machin='" & req &  "'"
    ....
    'generation des options du second select
    if not rs.eof then 
    response.write "<div id="firstDiv">
    response.write "<select name='secondselect' id='secondselect' onchange='go(""secondselect"",""secondPageHttpRequest"",""secondDiv"")' >'"
     
    do while not rs.eof 
                Response.Write("<option value= '" & rs(0) & "'>" & rs(1) & "</option>")
    rs.movenext                                                             
            Loop
        end if
    ...
    response.write "</select></div>
    ....
    la page secondPageHttpRequest.asp ... est la meme que la premiere ...

    En esperant avoir etait plus concret

  5. #5
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Par défaut
    Salut,

    Merci pour cette réponse.
    Cependant, j'ai toujours un problème pour incrémenter ma 3ème liste à partir de la deuxième. Lorque je fais un choix sur ma deuxième liste, il ne se passe rien, comme si il ne rentrait pas dans la fonction go.
    J'y comprend rien !

    J'ai pourtant mis la fonction go en générique avec 3 paramètres.
    Aucun pb de la 1ère à la deuxième.

    D'ou peut venir mon erreur ?

    Merci

  6. #6
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Par défaut
    C'est bon j'ai réussi !!
    Merci beaucoup !

Discussions similaires

  1. [AJAX] Utilisation AJAX avec IE
    Par Death83 dans le forum Général JavaScript
    Réponses: 42
    Dernier message: 01/07/2006, 20h33
  2. [AJAX] Utilisation Ajax et IE
    Par Seb06 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/06/2006, 12h56
  3. [AJAX] Utilisation ajax
    Par Benjiijneb dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/04/2006, 18h48
  4. [AJAX] Utilisation AJAX
    Par topolino dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/02/2006, 09h30
  5. [AJAX] Utilisation AJAX
    Par illegalsene dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/01/2006, 11h55

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