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

AJAX Discussion :

[AJAX] Ajax saut de fonction(encore)


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Par défaut [AJAX] Ajax saut de fonction(encore)
    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

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    Citation Envoyé par arcade_stg_master Voir le message
    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
    en mode synchrone la fonction de callback n'est pas utilisée, le script attend la réponse pour continuer.

    A lire pour ne pas perdre ta journée
    - Comprendre les mécanismes d'AJAX, et notamment le § Asynchrone ou synchrone ?
    - allez plus loin avec AJAX et XMLHttpRequest

Discussions similaires

  1. [AJAX] Saut de fonction AJAX
    Par arcade_stg_master dans le forum AJAX
    Réponses: 6
    Dernier message: 26/07/2012, 10h35
  2. [AJAX] ajax et alert dans fonction ?
    Par barbuslex dans le forum AJAX
    Réponses: 4
    Dernier message: 23/11/2010, 14h03
  3. [AJAX] Ajax, innerHTML et fonction javascript - solution ?
    Par gouroulubrik dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/03/2008, 21h35
  4. Réponses: 3
    Dernier message: 17/08/2006, 14h43
  5. [AJAX] Ajax et exécution des fonctions javascript
    Par Bobtop dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/06/2006, 15h22

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