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 :

Information et aide à propos des listes liées et de XMLHttpRequest


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Par défaut Information et aide à propos des listes liées et de XMLHttpRequest
    Bonjour, je ne pense pas etre le dernier a demande des informations sur les listes liees malgre le fait que j'ai lu les differents tutos present sur le net et le tuto de siddh bien sur.
    Ce que j'aimerais qu'on m'explique c'est comment inclure un 3e champs car apres manipulation dans le code de siddh je n'arrive a recuperer la valeur que d'un des premiers champ et non des 2 premiers.
    Pour tester mes manipulations je me suis donc inspire du code de siddh, comme je l'ai dit precedemment, et j'essaie a partir de mes 2 premiers champs d'obtenirs une liste de valeurs calcules a partir des 2 premiers champs :


    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" ></script>
    <title>TEST + AJAX + PHP</title>
    </head>
     
    <body>
     
    <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("Le navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    		   xhr = false; 
    		} 
        return xhr;
    	}
    		/**
    		* Methode qui sera appele sur le click du bouton
    		*/
    function go(){
    	var xhr = getXhr();
    	// On defini ce qu'on va faire quand on aura la reponse
    	xhr.onreadystatechange = function(){
    	// On ne fait quelque chose que si on a tout recu 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('nb').innerHTML = leselect;
    			}
    		}
    		// Ici on va voir comment faire du post
    		xhr.open("POST","suitenb.php",true);
    		// ne pas oublier ca 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
    		sela = document.getElementById('numero1');
    		selb = document.getElementById('numero2');
    		idnumero1 = sela.options[sela.selectedIndex].value;
    		idnumero2 = selb.options[selb.selectedIndex].value;
    		xhr.send("idNumero1="+idnumero1 && "idNumero2="+idnumero2);
    		//xhr.send("idNumero2="+idnumero2);
     
    	}
     
    -->
    </script>
     
    <form>
    			<fieldset style="width: 500px">
    				<legend>Liste lies</legend>
    				<label>Numero1</label>
    				<select name='numero1' id='numero1' onchange='go()'> 
    					 <!--<select name='numero1' id='numero1' >-->
    					<option value='-1'>1er Numero</option>
    					<?
    						for ($i=1; $i<=10;$i++)
    						{
    							echo '<option value="'. $i .'">'. $i .'</option>';
    							echo "<br />";
    						}
    					?>
    				</select>
     
    				<label>Numero2</label>
     
    				<select name='numero2' id='numero2' onchange='go()'>
    					<option value='-1'>2e Numero</option>
    					<?
    						for ($i=1; $i<=10;$i++)
    						{
    							echo '<option value="'. $i .'">'. $i .'</option>';
    							echo "<br />";
    						}
    					?>
    				</select>
     
    				<label>Number</label>
    				<div id='nb' style='display:inline'>
    				<select name='nb'>
    					<option value='-1'>Choisir un nb</option>
    				</select>
    				</div>
    			</fieldset>
    </form>
     
     
    </body>
    </html>

    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
     
    <?php
    echo "<select name='nb'>";
     
    if(isset($_POST["idNumero2"]) /*&& isset($_POST["idNumero2"])*/)
            {
                    $limit= ($_POST["idNumero2"] /*+ $_POST["idNumero2"]*/)*2;
                    $nb= $_POST["idNumero2"] /*+ $_POST["idNumero2"]*/;
                    
                    $n1 = $_POST["idNumero1"];
                    $n2 = $_POST["idNumero2"];
                    
                    for ($nb; $nb<=$limit; $nb++)
                    {
                            echo '<option value="'. $nb .'">'. $nb .'</option>';
                            echo '<br />';
                    }
            }
     
    echo "</select>";
    ?>
    Dans mon code j'ai commente la partie concernant car apparemment la valeur du champ affecte bien la derniere liste mais ne permet pas de recuperer de valeur.

    Mon code n'est la qu'a titre indicatif (car au final je voudrais utiliser mes 2 premieres listes liees a une troisieme pour verifier la validite de date dans un formulaire sachant que la 1ere liste contiendrait l'annee, la 2e le mois et la 3e le jour) ce que je cherche avant tout ce sont des explications sur la facon d'utiliser XMLHttpRequest avec 3 listes liees.

    Merci d'avance de votre aide

  2. #2
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Par défaut
    Il n'y a personne qui pourrait m'aider ?

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Par défaut
    Apres de bonne recherche j'ai trouve une partie de ma solution, en ce qui concerne le transfert de 2 valeurs et l'affiche dans la 3e liste du produit des 2 premieres listes.

    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" ></script>
    <title>TEST DATE + AJAX + PHP</title>
    </head>
     
    <body>
     
    <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("Le navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    		   xhr = false; 
    		} 
        return xhr;
    	}
    		/**
    		* Methode qui sera appele sur le click du bouton
    		*/
    function go(){
    	var xhr = getXhr();
    	// On defini ce qu'on va faire quand on aura la reponse
    	xhr.onreadystatechange = function(){
    	// On ne fait quelque chose que si on a tout recu 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('nb').innerHTML = leselect;
    			}
    		}
    		// Ici on va voir comment faire du post
    		xhr.open("POST","suitenb.php",true);
    		// ne pas oublier ca 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
    		sela = document.getElementById('numero1');
    		selb = document.getElementById('numero2');
    		idnumero1 = sela.options[sela.selectedIndex].value;
    		idnumero2 = selb.options[selb.selectedIndex].value;
    		xhr.send("idNumero1="+idnumero1+"&idNumero2="+idnumero2);
    		//xhr.send("idNumero2="+idnumero2);
     
    	}
     
    -->
    </script>
     
    <form>
    			<fieldset style="width: 500px">
    				<legend>Liste liees</legend>
    				<label>Numero1</label>
    				<!--<select name='numero1' id='numero1' onchange='go()'> -->
    					 <select name='numero1' id='numero1' >
    					<option value='-1'>1er Numero</option>
    					<?
    						for ($i=1; $i<=10;$i++)
    						{
    							echo '<option value="'. $i .'">'. $i .'</option>';
    							echo "<br />";
    						}
    					?>
    				</select>
     
    				<label>Numero2</label>
     
    				<select name='numero2' id='numero2' onchange='go()'>
    					<option value='-1'>2e Numero</option>
    					<?
    						for ($i=1; $i<=10;$i++)
    						{
    							echo '<option value="'. $i .'">'. $i .'</option>';
    							echo "<br />";
    						}
    					?>
    				</select>
     
    				<label>Number</label>
    				<div id='nb' style='display:inline'>
    				<select name='nb'>
    					<option value='-1'>Choisir un nb</option>
    				</select>
    				</div>
    			</fieldset>
    </form>
    </body>
    </html>
    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
     
    <?php
    echo "<select name='nb'>";
     
    if(isset($_POST["idNumero1"]) && isset($_POST["idNumero2"]))
            {
                    $limit= ($_POST["idNumero1"] + $_POST["idNumero2"])*2;
                    $nb= $_POST["idNumero1"] + $_POST["idNumero2"];
                    
                    
                    for ($nb; $nb<=$limit; $nb++)
                    {
                            echo '<option value="'. $nb .'">'. $nb .'</option>';
                            echo '<br />';
                    }
            }
     
    echo "</select>";
    ?>

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/06/2009, 22h20
  2. [GWT] Aide à propos des différents panels
    Par gufra dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 08/11/2007, 16h18
  3. [List] Besoin d'aide à propos de liste de listes
    Par Moifairedujava dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 22/02/2007, 11h02
  4. Utilisation des liste liées (ajax) avec du perl
    Par Jim_Nastiq dans le forum Web
    Réponses: 1
    Dernier message: 12/07/2006, 12h07
  5. Aide à propos des strings
    Par Invité dans le forum Général Python
    Réponses: 2
    Dernier message: 26/06/2006, 09h43

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