Salut à vous ô forts du JS...
Je suis une fois de plus en train de galérer... enfin cette fois ci je crois que c'est enfin sur un problème digne de ce nom...
je vous explique le principe.
j'ai un tableau html de 4 colones de large par N de haut avec des input texte dans chaque case.
le nombre de ligne de ce tableau est aléatoire et est remplis en fonction d'une BDD via un moteur de template. donc si j'ai trois lignes dans ma bdd je vais afficher ma page avec les input préremplis sur trois lignes.
l'idée est que je verrifie les valeurs entrées dans les input grace à un script ajax. Si je ne les retrouve pas dans ma bdd (une autre table) alors j'affiche la ligne en question sur fond rouge...
bon tout ça marche quand j'envoie le test ligne par ligne... le script ajax fonctionne bien.
mais maintenant je veux créer une fonction qui boucle sur toutes les lignes du tableau pour faire une verrif globale.
j'ai donc créé une boucle for qui appelle ma fonction de verrif ajax en lui passant les bons paramètres
//fonction qui va lancer la verif sur toutes les lignes du tableau
function verrifAllRef() {
// alert (document.getElementById('dTable').childNodes.length);
for ( var b=0; b<document.getElementById('dTable').childNodes.length; b++ )
{
if ( document.getElementById('dTable').childNodes[b].tagName == 'TR') {
// alert( document.getElementById('dTable').childNodes[b].tagName + document.getElementById('dTable').childNodes[b].id );
// selection dynamique de la cellule du tableau parcouru
cellule = document.getElementById('dTable').childNodes[b].getElementsByTagName('td')[0];
// alert (cellule);
//on lance la verif ajax pour cette cellule
verrifRef('ajax_verrif_ref.php', cellule);
}
}
}
La fonction ajax envoie donc en boucle trois requettes HTTP avec des valeurs en post...
mais le problème c'est que quand les trois réponses http arrivent seule la dernière est prise en compte (d'après ce que j'ai pu comprendre sur firebug) et donc une seule ligne change de couleur au lieu des trois ...
j'aimerai donc savoir comment faire pour dire à mon script d'attendre la réponse avant de relancer une requette à HTTP via ma fonction ajax...
euuh ...j'espère que c'est pas trop charabia ce que je vous ai raconté parce que là je coince vraiment ...
merci à vous
@++