[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:
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:
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:
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