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 le texte et non la valeur d'un select [Débutant(e)]


Sujet :

AJAX

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut [AJAX] Récupérer le texte et non la valeur d'un select
    Bonjour,
    voila le code ajax je voudrait qu'il recuperer le texte et pas la valeur du select:

    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
    26
    27
    <script>
    function showUser(str)
    {
    if (str=="")
      {
      document.getElementById("txtHint").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","index4.php?q="+str,true);
    xmlhttp.send();
    }
    </script>
    merci.

  2. #2
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HTMLSelectElement.options[HTMLSelectElement.selectedIndex].text

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    bonjour,

    merci j avais bien trouver cette ligne sur des forums mais je ne sais pas ou la placer sur mon code.merci encore.

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    J'ia fait ceci mais ca ne marche pas:
    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
    26
    27
    28
    <script>
    function showUser(str)
    {
    if (str=="")
      {
      document.getElementById("txtHint").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("txtHint").options[document.getElementById("txtHint").selectedIndex].text=xmlhttp.responseText;
     
        }
      }
    xmlhttp.open("GET","index4.php?q="+str,true);
    xmlhttp.send();
    }
    </script>

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    j'ai trouver quelques forums mais il ne rentre pas dans if(xhr.readyState == 4 && xhr.status == 200):

    code index3.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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <html>
    <head>
    <script>
    function getXhr(){
    				var xhr = null; 
    				if(window.XMLHttpRequest) // Firefox et autres
    					xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    					try {
    						xhr = new ActiveXObject("Msxml2.XMLHTTP");
    					} catch (e) {
    						xhr = new ActiveXObject("Microsoft.XMLHTTP");
    					}
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    					alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    					xhr = false; 
    				} 
    				return xhr;
    			}
     
    			function go(){
     
    				var xhr = getXhr();
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
     
    						leselect = xhr.responseText;
    						// On se sert de innerHTML pour rajouter les options a la liste
    						document.getElementById('txtHint').innerHTML = leselect;
    					}
    				}
    				// poste l'id du site
    				xhr.open("POST","index4.php",true);
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				var sel = document.getElementById('user2');
    				var idsite = sel.options[sel.selectedIndex].text;
    				xhr.send("q="+idsite);
    			}
     
     
    </script>
    </head>
    <body>
     
    <form>
    <select name="users2" id="users2" onchange="go()">
    <option value="" selected>Select a person:</option>
    <option value="http://localhost/appartement/backend/illustrations/home/2/velane _2_1_home.jpeg">velane _2_1</option>
    <option value="http://localhost/appartement/backend/illustrations/home/2/velane _2_2_home.jpeg">velane _2_2</option>
    <option value="http://localhost/appartement/backend/illustrations/home/2/velane _2_3_home.jpeg">velane _2_3</option>
    <option value="http://localhost/appartement/backend/illustrations/home/2/velane _2_4_home.jpeg">velane _2_4</option>
    <option value="http://localhost/appartement/backend/illustrations/home/2/velane _2_5_home.jpeg">velane _2_5</option>
     
    </select>
     
     
    </form>
    <br>
    <div id="txtHint"><b>Person info will be listed here.</b></div>
     
    </body>
    </html>
    index4.php:
    Code php : 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
    <?php
    $q=$_GET["q"];
    print_r($_GET);
    $con = mysql_connect('localhost','root');
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
     
    mysql_select_db("appartement", $con);
     
    $sql="SELECT id,titre,description,legende,position,ref_appartement
    		FROM galerie WHERE legende = '".$q."'";
     
    $result = mysql_query($sql);
     
    echo'<div id="titre">'.$row['titre'].'</div>';
     
    mysql_close($con);
    ?>

    rien ne s'affiche mon but:
    1. je selectionne dans la liste deroulante
    2. je recupere le text de la liste selectione
    3. je l'utilise dans mon sql pour remplir mon div

    merci.

  6. #6
    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
    Ben oui... avant de copier coller du code, il faut essayer de le comprendre pour pouvoir l'adapter à ses besoins...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("POST","index4.php",true);
    page4.php:
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("POST","index4.php",true);


    PS : j'imagine que c'est inutile de te parler de console de débogage type Firebug...

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    Excuse moi j'ai changer donc post en get et j'ai changer les noms c est bien index3.php et index4.php.
    Maleureusement je n'ai pas firebug
    Merci.

  8. #8
    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
    Ben si tu testes sur Firefox, faut l'installer au plus vite !
    Sinon, tu as des équivalents natifs pour Chrome, Opera ou IE.

    Et donc, ça marche ou pas maintenant ?

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    il ne rentre toujours pas dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     if(xhr.readyState == 4 && xhr.status == 200){
    					alert(1);
    						leselect = xhr.responseText;
    						// On se sert de innerHTML pour rajouter les options a la liste
    						document.getElementById('txtHint').innerHTML = leselect;
    					}
    merci.

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    1-Qu'est ce qu'il te dit Firebug ?
    2-
    if(xhr.readyState == 4 && xhr.status == 200){
    alert(1);
    leselect = xhr.responseText;
    // On se sert de innerHTML pour rajouter les options a la liste
    document.getElementById('txtHint').innerHTML = leselect;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(xhr.readyState == 4){
     if (xhr.status == 200){
    					alert(1);
    						leselect = xhr.responseText;
    						// On se sert de innerHTML pour rajouter les options a la liste
    						document.getElementById('txtHint').innerHTML = leselect;
    					}
    else{ alert("erreur :" + xhr.status);}
     
    }
    3 - Si tu utilises GET, tu vires cette ligne
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    et passer les paramètres en URL.

    A+.

Discussions similaires

  1. [XL-2007] Marche avec TEXT et non avec VALEUR: Pourquoi
    Par pasterlouis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/06/2013, 18h00
  2. [AJAX] Récupérer le contenu d'un champ texte (débutant)
    Par Sytchev3 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/11/2007, 18h58
  3. [AJAX] récupérer une valeur depuis responseText
    Par Ministar dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 11/10/2007, 13h33
  4. [AJAX] récupérer une valeur d'un formulaire en javascript
    Par bennap dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/05/2007, 17h09
  5. [AJAX] Récupérer valeurs formulaires
    Par Mister Nono dans le forum Struts 1
    Réponses: 5
    Dernier message: 19/04/2007, 17h23

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