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] Ajout input avec valeur venant de XML


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut [AJAX] Ajout input avec valeur venant de XML
    Bonjour.

    Voici mon probleme.
    J'ai un select qui me permet de rajouter une liste d'input en javascript.
    Pour chaque input je dois aller chercher la valeure dans la BDD et l'afficher (chaque input a son ID)

    Pour ca j'envoie une requete par ajax mais du coup mes input ne s'affichent pas.

    voila mes fonctions :

    celle d'appel de l'ajax
    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 AddRow(select,table){
    	valeurSelect = document.getElementById(select).value;
    	if(document.getElementById(select).value != "" && !document.getElementById(valeurSelect)){
        	var newRow = document.getElementById(table).insertRow(-1);
        	var newCell = newRow.insertCell(0);
        	tab = valeurSelect.split(';');
        	newCell.innerHTML = tab[2] +' '+ tab[3];
     
        	for(i=0;i<12;i++){
        		ajax(tab[0],tab[1],newCell,newRow,i);
        	}
    	}
    }
    Ajax qui va cehrcher dans la bdd
    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
     
    function ajax(id_module,id_ressource,mois,cell,row,mois){
    	var xhr = null;
    	var reponse;
    	var xhr=null;
     
        if (window.XMLHttpRequest) { 
            xhr = new XMLHttpRequest();
        }
        else if(window.ActiveXObject){ 
        	// Internet Explorer
            try{
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(e){
                try{
                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(e1){
                    xhr = null;
                }
            }
        }
        else{
        	// XMLHttpRequest non supporté par le navigateur
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
        }
     
        // Envoie des donnees
    	xhr.open("POST", "index.php?module=timesheet&action=reponse&to_csv=1", true);
    	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        xhr.send("mod="+id_module+"&ress="+id_ressource+"&mois="+mois);
     
     
        if(xhr.readyState == 4 && xhr.status == 200) {
            /* xhr.responseXML permet d'obtenir le fichier XML
               xhr.responseText aurait retourné le fichier sous format texte */
            //response     = cleanXML(xhr.responseXML.documentElement);
            // ...
            nombreJour(xhr,id_module,id_ressource,cell,row,mois);
        }
     
    }
     
    function nombreJour(xhr,id_module,id_ressource,cell,row,mois){
    	var docXML= xhr.responseXML.documentElement;
    	var items = docXML.getElementsByTagName("nbjour")
    	//on fait juste une boucle sur chaque element "nbjour" trouvé
    	donnee = "";
    	for (i=0;i<items.length;i++){
    		donnee = items[i].firstChild.nodeValue ;
    	}
    	cellMois(id_module,id_ressource,cell,row,mois,donnee);
    }
    et ma fonction d'affichage de l'input
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function cellMois(id_module,id_ressource,cell,row,mois,nbjour){
    	id_input = 'm'+id_module+'r'+id_ressource+'d'+mois;
    	cell = row.insertCell(1);
    	cell.innerHTML = ' <input name="'+id_input+'" type="texte"  maxlength="2" value="'+nbjour+'" size="2" onkeypress="chiffres(event)" style="width:15px">';
    }

    Je tiens a preciser que si j'appel dans ma premier fonction la fonction cellMois avec comme argument nbjour a 0 ca passe le sinput on tous 0.
    Mais avec ma fonction ajax y a meme pas les input

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    oups j'oubliais mon script 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
     
    include('../../connection.php');
    header('Content-Type: text/xml'); 
    echo "<?xml version=\"1.0\"?>\n";
    echo "<donnee>\n";
     
    $id_res = $_POST['ress'];
    $id_mod = $_POST['mod'];
    $i = $_POST['mois'];
    $year = date('Y');
     
     
    //requete
    // On verifie si update
    $query = mysql_query("SELECT nbjour FROM ".$bdd."va_travailler_sur " .
    					" WHERE id_ressource='$id_res' AND id_module='$id_mod' AND mois='$i' AND annee='$year'") OR die('Erreur!<br/>'.mysql_error());
    if(mysql_num_rows($query)>0){
    	while($res = mysql_fetch_array($query))
    		echo '<nbjour>'.$res['id'].'</nbjour>\n';
    }
    else
    	echo "<nbjour>0</nbjour>";
    echo "</exemple>\n";

Discussions similaires

  1. [XL-2010] Ajouts colonnes avec valeurs fixes et variables
    Par ericmlj78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/01/2014, 11h39
  2. Réponses: 1
    Dernier message: 11/07/2010, 13h34
  3. Garnir un input avec la valeur d'un autre input
    Par The Molo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/12/2007, 15h18
  4. ajouter des input avec select
    Par nicerico dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/11/2006, 09h56
  5. [XSLT][XML][AJAX] Quelques problème avec le XML
    Par slasch dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/10/2006, 11h29

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