begin process at 2012 05 29 08:54:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Génération des champs select et input dynamique / Listes liées


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Génération des champs select et input dynamique / Listes liées

mardi 17 février 2009 à 10:48:35 | Génération des champs select et input dynamique / Listes liées

daris

Bonjour;

J'essaie de générer deux(2) listes liées et aussi des input dynamiquement avec ajax et javascript mais dure dure...
Mon code ne marche pas normalement.
En effet , j'arrive a avoir la première liste mais l'action onchange sur la  function goe(); ne marche pas.je ne sais d'où vient le problème.
J'ai besoin de votre aide.Merci d'avance pour votre regard neutre.

Voila mon code:
<HTML><HEAD>
<script type='text/javascript'>

            /**
              *Création de l'objet XmlHttpRequest
             */
            
            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 onchange du champ determination
            */
            function goe(){
                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('methode').innerHTML = leselect;
                    }
                }

                // Ici on va voir comment faire du post
                //valeur = document.getElementById('liste').value;
                xhr.open("POST","ajaxListe.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 la determination
                sel = document.getElementById('liste');
                idliste = sel.options[sel.selectedIndex].value;
                xhr.send("idliste="+idliste);
            }
           
            /**
            * 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){
                        //alert(xhr.responseText);
                        document.getElementById('liste').innerHTML = xhr.responseText;
                    }
                }
                xhr.open("GET","message.php",true);
                xhr.send(null);
            }

           
</script>

<script language="javascript">
function affichform (nbinput) {

    var form;
    // on teste le nombre de inputs qu'il faut ajouter
    if (nbinput != "0" && nbinput != "") {
            document.getElementById("inputs").innerHTML = "";
            for (i =1;i<=nbinput;i++) {

                form = '<tr><td><input type="button"  onclick="go()" value="charger determination" name="charger_determination[]'+ i + '"id="charger_determination'+ i + '"/></td><td nowrap="nowrap">Determination :</td><td><div id="liste" style="display:inline"><select  name="liste"  onChange="goe()"></select></div></td>&nbsp;<td nowrap="nowrap">Methode :</td><td><div id="methode" style="display:inline"><select name="methode"><option>Choisir une methode</option></select></div></td>&nbsp;<td nowrap="nowrap">Valeur :</td><td><input type="text" size =5 name="qte[]'+i+'" id="tst'+i +'"></td>&nbsp;<td nowrap="nowrap">Unite :</td><td><input type="text" size =5 name="qte[]'+i+'" id="tst'+i +'"></td></tr><br/>';
                   document.getElementById("inputs").innerHTML += form;
            }
    } else {
            //JE NE FAIS RIEN
    }
}   
</script>

</HEAD>
<BODY>
<TABLE> 
 <tr>
<td id="tdnbtitre" >Nombre de ligne de formulaire &agrave; ajouter:</td><td id="tdnbform" ><input name="nbinput" type="text" id="nbinput"  onKeyUp="affichform(document.getElementById('nbinput').value)" size="4" maxlength="2">
 </tr>
 <tr><span id=inputs ></span><tr> 
</table>
</TABLE>
</BODY>
</HTML>


 Voici mes autres script PHP appelés par AJAX:


message. php :
<?php
    echo "<select  name='liste' id='liste' onChange='goe()'>";
        //echo "<option value=''>";
            //requete utiliser par la function afficher_option() pour fabriquer les select
            $query_determination="select code,signification from code where id_codage=111";
            afficher_option($conn,$query_determination, $determination);   
        //echo "</option>";
    echo "</select>";
?>

ajaxListe.php:

$valeur= $_POST["idliste"];$methode="met_".$valeur; echo $valeur;
if(isset($_POST["idliste"])){
    echo "<select name='methode'>";
        echo "<option value=''>";
               //requete utiliser par la function afficher_option() pour fabriquer les select
            afficher_option($conn,"select code,signification from code A,codage B where A.id_codage=B.id_codage and b.nom_variable_codee= 'met_$valeur'", $methode);   
            echo "</option>";
    "</select>";
}else {echo "il ya un probleme";}

Merci pour votre soutien.


Cette discussion est classée dans : function, code, select, echo, xhr


Répondre à ce message

Sujets en rapport avec ce message

[AJAX] Lier deux listes déroulantes [ par beegeezzz ] Salut les développeurs,J'aimerais créer une page avec 4 listes déroulantes liées.J'ai une première liste déroulante qui s'alimente correctement, je ne Function changerimage. [ par userrrqi115 ] Hello, Voilà j'explore la création de page web depuis peu. Et là j'arrive sur un os : J'ai dans une page (html) un SELECT (id="Sel") et une image des Dropdownlist et ajax [ par kalabichou ] Bonjour à tous, Actuellement j'essaye de faire fonctionner 4 dropdownlist dans un environnement j2ee sous eclipse. En utilisant ajax j'envoie mes par utiliser le script d'ajax deux fois dans la meme fonction [ par kelouazzani ] bonsoir je veux exécuté un script d'ajax deux fois dans la même fonction, la deuxième fois c'est avec un paramètre de plus. voila mon code : [code=js Les données php bloquées après la première opération [ par elistein2 ] Les données php restent bloquées aprés la premiere mise à jour. -------------------------------------------------------------------------------- bo Retailler div apres chargement image [ par jashugan ] Bonjour, Voilà mon problème, j'ai une lightbox que j'affiche, dans cette lightbox j'ai une image qui se charge. J'ai une fonction javascript qui me Chargement d'une classe externe [ par DakM ] Bonjour ! Voici mes scripts: D'un côté, déjà présent dans le html .. dans une classe X j'ai [code=js] prepair: function() { js = new Element('scrip L'élément document et le reste... [ par alexflex25 ] Bonjour, En désespoir de cause je viens vous demander de l'aide une n-ème fois. Soit la class javascript suivante : [code=js] var alerting = Class.cr Souci avec la fonction $(document).ready(function () { ... } [ par Edoth ] Bonjour, J'essaye de faire un carrousel 3D javascript avec des images sur un site ASP.NET en c# mon carrousel fonctionne parfaitement en local mais Erreur dans mon code pour afficher une liste d'un fichier XML,HELP!!!!!!!!!!!!!!!!! [ par devchat1987 ] Bonjour, svp,j'arrive pas a faire fonctionner mon code,je veux affiche une liste des noms d'une fichier xml dans un div (dans une liste ordonnée ol).


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales