[AJAX] Ajax saut de fonction(encore)
Mais j'y comprends rien. J'ai l'impression d'être un abruti :
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
|
bouton_valider_m.onclick =
function verif_regles()
{
//listing des checkboxes et affichage dynamique
document.getElementById('list_checkboxes').innerHTML='';
var place = document.getElementById('list_checkboxes');
//recuperation des donnees contenus dans les balises xml du php utilise
item_droit_m = docXML.getElementsByTagName('droit');
item_droit_id_m = docXML.getElementsByTagName('droit_id');
tableau_checkboxes_m = new Array;
tableau_checkboxes_name_m = new Array;
tableau_checkboxes_id_m = new Array;
bouton_valider_m = document.createElement('input');
bouton_valider_m.type = "button";
bouton_valider_m.value = "VALIDER";
for(k=0; k<item_droit_id_m.length; k++)
{
//conversion des donnees en textnode
id_checkbox_m = document.createTextNode(item_droit_id_m.item(k).firstChild.data);
name_checkbox_m = document.createTextNode(item_droit_m.item(k).firstChild.data);
//creation de checkboxes dynamiques
tableau_checkboxes_m[k] = document.createElement('input');
tableau_checkboxes_id_m[k] = id_checkbox_m.nodeValue;
tableau_checkboxes_m[k].id = id_checkbox_m.nodeValue;
tableau_checkboxes_m[k].type = "checkbox";
tableau_checkboxes_name_m[k] = name_checkbox_m;
tableau_checkboxes_m[k].name = tableau_checkboxes_name_m[k];
amorce_verification_droits_checkboxes();//appel de la fontion qui permet de changer l'etat de chaque checkbox
place.appendChild(tableau_checkboxes_m[k]);
place.appendChild(tableau_checkboxes_name_m[k]);
br = document.createElement('br');
place.appendChild(br);
}
} |
Et donc l'ajax :
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
|
function amorce_verification_droits_checkboxes()
{
var xhr = ajax();
if (xhr.readyState==4)
{
if(xhr.status == 200 || xhr.status == 0)
{
verification_droits_checkboxes(xhr);
}
else
{
alert(xhr.statusText);
}
}
xhr.open("GET", "requetes_etat_regles.php", false);
xhr.send(null);
}
function verification_droits_checkboxes(xhr)
/*comme dhab cette fonction avec le xhr reste totalement inutilisée et je suis en mode synchrone*/
{
alert("ok");
var docXML = xhr.responseXML;
//balayage de toutes les règles de l'utilisateur concerné
//creation de text node qui recupere le contenu des xml
var id_user = docXML.getElementsByTagName('users');
var id_droits = docXML.getElementsByTagName('droits');
alert(id_droits.length);
for (l=0; l<id_droits.length; l++)
{
var res_id_user = document.createTextNode(id_user.item(l).firstChild.data);
var res_id_droits = document.createTextNode(id_droits.item(l).firstChild.data);
if (res_id_user.nodeValue == 1)
{
if (res_id_droits.nodeValue == tableau_checkboxes_m[k].id)
{
alert("res_id_droits"+res_id_droits.nodeValue);
alert("tableau_checkboxes_m[k].id"+tableau_checkboxes_m[k].id);
tableau_checkboxes_m[k].checked = true;
}
}
}
} |
Voilà donc même topo je vois pas où est la faille, et encore une fin de matinée et un début d'après-midi de foutu :?
Merci à celui qui m'aidera