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 :

document.getElementById('livre').value retourne undefined!


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut document.getElementById('livre').value retourne undefined!
    Bonjour,
    mon problème c'est que document.getElementById('livre').value retourne undefined et même resultat avec document.getElementById('livre').selectedIndex
    et j'espére trouver de l'aide dans cette partie du Forum
    mon code et le suivant :

    Titres.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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="javascript">
    function afficherTexte () {
    	alert(document.getElementById('livre').selectedIndex); //MON PROBLEME//
    }
    </script>
    <script type='text/javascript'>
     
    			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;
    			}
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function go(){
    				var xhr = getXhr();
    				// On défini ce qu'on va faire quand on aura la réponse
    				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('livre').innerHTML = leselect;
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","ajaxTitre.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
    				sel = document.getElementById('auteur');
    				idauteur = sel.options[sel.selectedIndex].value;
    				xhr.send("idAuteur="+idauteur);
    			}
    		</script>
     
    <body onLoad="go();">
    //--------------------------//
    <select name='auteur' id='auteur' onchange='go();' onClick='go();afficherTexte()'>
    	 <?php
            echo "<option value='0'>[0] - </option>";
            $req1 = "select * from Titres";
            $res1 = mysql_query($req1);
            while($row = mysql_fetch_assoc($res1))
            {
            echo "<option value='".$row["IDTitre"]."'>$row["Libelle"]</option>";
             }
     
            ?>
    </select>
    //----------------------------------------//
    <select name='livre' id='livre' onChange="afficherTexte()">
    <?php
            $res = mysql_query("SELECT IDTitre,Libelle FROM Titress 
                    WHERE Parent=0 ");
            while($row = mysql_fetch_assoc($res)){
            echo "<option value='".$row["IDTitre"]."'>$row["Libelle"]</option>";
            }
    ?>
    </select>
    //---------------------------------//
    page ajaxTitre.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
            $parent = $_POST["idAuteur"];
            echo "<select name='livre' id='livre' onChange='afficherTexte()'>";
            if(isset($_POST["idAuteur"])){
                    $res = mysql_query("SELECT IDTitre,Libelle FROM elements 
                            WHERE Parent=".$_POST["idAuteur"]." ");
                    while($row = mysql_fetch_assoc($res)){
                            echo "<option value='".$row["IDTitre"]."'>$row["Libelle"]</option>";
                    }
            }
            echo "</select>";
    ?>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Donc ton code fait quoi?
    Si j'ai bien compris, tu as deux listes. Une avec des auteurs, l'autre avec des livres. Et tu veux que quand on change d'auteur, la liste des livres se réactualise avec la liste des livres écrits par cet auteur.
    Et ce rafraichissement doit être fait en AJAX.
    Est-ce exacte?

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/01/2011, 10h35
  2. Réponses: 3
    Dernier message: 02/05/2009, 09h03
  3. document.getElementById().value ne retourne rien
    Par fayred dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/08/2007, 14h13
  4. Réponses: 2
    Dernier message: 07/01/2007, 12h22
  5. This.value au lieu de document.getElementById('field').value
    Par yoyot dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/03/2005, 14h02

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