Mais j'y comprends rien. J'ai l'impression d'être un abruti :
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
 
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 : 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
 
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