Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ajax qui ne fonctionne que sous FF

Sujet résolu
    28 juillet 2009 à 12:59:22

    Bonjour,

    J'ai travaillé 2j sur un script en Ajax qui marche très bien... sous Firefox (window). Sous IE ca ne fait strictement rien. Et sous Chrome la page devient blanche ca n'affiche que le titre.
    Je ne peux pas vous faire tester la page car ce n'est pas en ligne mais voici le code (une partie).

    function getXMLHttpRequest()
    {
       var xhr = null;
    	
       if (window.XMLHttpRequest || window.ActiveXObject) 
       {
          if (window.ActiveXObject) 
          {
             try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
             } 
             catch(e){
    	    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    	 }
          } 
          else
             xhr = new XMLHttpRequest(); 
       } 
       else 
       {
           alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
           return null;
       }
    	
       return xhr;
    }
    
    function request(callback) 
    {
       var xhr = getXMLHttpRequest();
    	
       xhr.onreadystatechange = function() {
          if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
             callback(xhr.responseXML);
          }
       };
    	
       xhr.open("GET", "bdd.xml", true);
       xhr.send(null);
    }
    
    function readData(oData) 
    {
       var listeSchema = oData.getElementsByTagName("schema");
       var input = document.forms["recherche"].elements["src"].value;
       var resultats;
       var html = '<h1>Resultat de la recherche</h1><table id="gdimg">';
    	
       resultats = Recherche(listeSchema, input);
    	
       var j=0;	
       for (i in resultats) 
       {	
    			
          var schema = oData.getElementById(i);
    
          if (j%3 == 0)
          html += "<tr>";
    		
          if (schema != null) 
          {
             var titre = schema.getElementsByTagName("titre");
             var image = schema.getElementsByTagName("image");
             var tag = schema.getElementsByTagName("tag");
    				
             html += '<td><a href="schema-'+ image[0].firstChild.nodeValue +'.html">';
             html += '<img src="images/schema/petite/'+ image[0].firstChild.nodeValue +'.jpg" alt="'+ titre[0].firstChild.nodeValue +'" title="'+ titre[0].firstChild.nodeValue +'"/></a><br/>'; 
             html += '<em>'+ titre[0].firstChild.nodeValue +'</em></td>';
    			
             j++;
    				
          }
       }
    			
       if ((j+1)%3 == 1)
          html += '<td></td><td></td>';
       if ((j+1)%3== 2)
          html += '<td></td>';
    						
       html  += '</tr>';	
       html +='</table>';
       html += '<p style="clear:both"></p>';
    	
       document.getElementById("contenu").innerHTML = html;
    }
    

    Je vous fait graces des autres fonctions du script...
    J'ai mis des alert() pour voir a partir d'où ca plante. Voyez j'ai surligné la ligne 55. Sous IE ca plante juste après cette ligne. Sous chrome j'ai pas bien réussi a trouver.

    D'où peux bien venir ce problème de compatibilité ?

    Pour ceux qui voudraient faire des test je donne le code entier :

    function getXMLHttpRequest()
    {
    	var xhr = null;
    	
    	if (window.XMLHttpRequest || window.ActiveXObject) {
    		if (window.ActiveXObject) {
    			try {
    				xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			} catch(e) {
    				xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    		} 
    		else {
    			xhr = new XMLHttpRequest(); 
    		}
    	} 
    	else {
    		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
    		return null;
    	}
    	
    	return xhr;
    }
    
    function request(callback) {
    	var xhr = getXMLHttpRequest();
    	
    	xhr.onreadystatechange = function() {
    		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    			callback(xhr.responseXML);
    		}
    	};
    	
    	xhr.open("GET", "bdd.xml", true);
    	xhr.send(null);
    }
    
    function readData(oData) 
    {
    	var listeSchema = oData.getElementsByTagName("schema");
    	var input = document.forms["recherche"].elements["src"].value;
    	var resultats;
    	var html = '<h1>Resultat de la recherche</h1><table id="gdimg">';
    	
    	resultats = Recherche(listeSchema, input);
    	
    	var j=0;	
    	for (i in resultats) 
    	{	
    			
    		var schema = oData.getElementById(i);
    		
    		if (j%3 == 0)
    			html += "<tr>";
    		
    		if (schema != null) {
    			var titre = schema.getElementsByTagName("titre");
    			var image = schema.getElementsByTagName("image");
    			//var sstitre = schema.getElementsByTagName("sstitre");
    			var tag = schema.getElementsByTagName("tag");
    				
    			html += '<td><a href="schema-'+ image[0].firstChild.nodeValue +'.html">';
    			html += '<img src="images/schema/petite/'+ image[0].firstChild.nodeValue +'.jpg" alt="'+ titre[0].firstChild.nodeValue +'" title="'+ titre[0].firstChild.nodeValue +'"/></a><br/>'; 
    			html += '<em>'+ titre[0].firstChild.nodeValue +'</em></td>';
    			
    			j++;
    				
    		}
    	}
    			
    	if ((j+1)%3 == 1)
    		html += '<td></td><td></td>';
    	if ((j+1)%3== 2)
    		html += '<td></td>';
    						
    	html  += '</tr>';	
    	html +='</table>';
    	html += '<p style="clear:both"></p>';
    	
    	document.getElementById("contenu").innerHTML = html;
    }
    
    function Recherche(listeSchema, recherche)
    {
    	var rep = new Array();
    	recherche = explode_recherche(recherche);
    	
    	for(var i=0, c=listeSchema.length; i<c; i++) // Parcour de tous les schemas
    	{ 
    		for (var j=0, d=recherche.length; j<d; j++) // Pour de tous les mots recherchés
    		{
    			var image = listeSchema[i].getElementsByTagName("image");
    			var titre = listeSchema[i].getElementsByTagName("titre");
    			//var sstitre = listeSchema[i].getElementsByTagName("sstitre");
    			var tag = listeSchema[i].getElementsByTagName("tag");
    				
    			var string = image[0].firstChild.nodeValue + " "
    						+ titre[0].firstChild.nodeValue + " "
    						//+ sstitre[0].firstChild.nodeValue
    						+ tag[0].firstChild.nodeValue;
    							
    			var occurences = Occurence(string, recherche[j]);
    					
    			if (occurences > 0)
    			{
    				var id = listeSchema[i].getAttribute("id");
    								
    				if (array_key_exists(id, rep)) 
    					rep[id] = rep[id] + occurences; // On aditionne les occurences
    				else
    					rep[id] = occurences; // sinon on ajoute l'id
    			}
    		}
    	}
    	rep.sort();
    	rep.reverse();
    		
    	return rep;
    }
    	
    function Occurence(chaine, mot) 
    {
    	reg = new RegExp(mot,"i")
    	
    	var tableau = chaine.split(reg);
    	var occurence = tableau.length-1;
    	return occurence;
    }
    
    function array_key_exists(key, array) 
    {
    	var bool =  false;	
    	for (i in array) {
    		if (i == key)
    			return true;
    	}
    	return false;
    }
    
    function explode_recherche(recherche)
    {
    	recherche = recherche.split(" ");
    	var ref = ['le', 'la', 'les', 'du', 'de', 'a', 'à', 'et', '+', ','];
    					
    	for (var i=0, c=recherche.length; i<c; i++)
    	{
    		if (in_array(recherche[i], ref))
    			delete recherche[i];
    	}
    	
    	return recherche;
    }
    
    function in_array(needle, haystack, argStrict) 
    { 
        var key = '', strict = !!argStrict;
     
        if (strict) 
    	{
            for (key in haystack) 
    		{
                if (haystack[key] === needle)
                    return true;
            }
        } 
    	else 
    	{
            for (key in haystack) 
    		{
                if (haystack[key] == needle)
                    return true;
            }
        }
     
        return false;
    }
    


    <form action="recherche-2.html" method="get" name="recherche">
       <p><input type="text" name="src" size="18" onkeypress="request(readData);" /><input type="submit" value="" title="Rechercher"/></p>							
    </form>
    <div id="contenu"></div>
    


    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE bdd [
    <!ELEMENT bdd (biocell , embryologie , genetique , biovegetale , physiologie , bioenergetique)+>
    <!ELEMENT biocell (schema)*>
    <!ELEMENT embryologie (schema)*>
    <!ELEMENT genetique (schema)*>
    <!ELEMENT biovegetale (schema)*>
    <!ELEMENT physiologie (schema)*>
    <!ELEMENT bioenergetique (schema)*>
    <!ELEMENT schema (image , titre , sstitre , tag , categorie , vue)+>
    <!ATTLIST schema id ID #REQUIRED>
    <!ELEMENT image (#PCDATA)>
    <!ELEMENT titre (#PCDATA)>
    <!ELEMENT sstitre (#PCDATA)>
    <!ELEMENT tag (#PCDATA)>
    <!ELEMENT categorie (#PCDATA)>
    <!ELEMENT vue (#PCDATA)>
    <!ATTLIST vue vue CDATA #REQUIRED>
    ]>
    <bdd>
      <bc/>
      <de/>
      <bg/>
      <bv/>
      <phy>
        <schema id="_7">
          <image>ct-muscle-strie-squeletique</image>
          <titre>Coupe tansversale de muscle strié squletique</titre>
          <sstitre/>
          <tag>muscle, aponevrose, myofibrille</tag>
          <vue vue="2"/>
        </schema>
        <schema id="_8">
          <image>fibre-musculaire-cellule-spe</image>
          <titre>La fibre musculaire striée squeletique, une cellule spécialisée</titre>
          <sstitre/>
          <tag>muscle, plaque motrice, sarcomère</tag>
          <vue vue="3"/>
        </schema>
        <schema id="_9">
          <image>fibre-musculaire-strie-mo</image>
          <titre>Fibre musculaire striée squeletique</titre>
          <sstitre/>
          <tag>muscle, strie Z, bande H, bande A</tag>
          <vue vue="1"/>
        </schema>
        <schema id="_10">
          <image>fonctionnement-plaque-motrice</image>
          <titre>Fonctionnement de la plaque motrice</titre>
          <sstitre/>
          <tag>Neurone, muscle</tag>
          <vue vue="4"/>
        </schema>
        <schema id="_11">
          <image>plaque-motrice</image>
          <titre>Plaque motrice</titre>
          <sstitre/>
          <tag>Neurone, muscle</tag>
          <vue vue="0"/>
        </schema>
      </phy>
      <be/>
      <divers>
        <schema id="_6">
          <image>acetylcholine-esterase</image>
          <titre>Acetylcholine estérase</titre>
          <sstitre/>
          <tag>neurotransmetteur, enzyme</tag>
          <vue vue="1"/>
        </schema>
      </divers>
    </bdd>
    

    Merci

    Edit : sous chrome j'ai cerné le problème :

    var schema = oData.getElementById(i);
    		
    if (j%3 == 0)
       html += "<tr>";
    
    if (schema != null) {
    

    Schema vaut tjs null. Alors que sous ff y'a pas de soucis
    • Partager sur Facebook
    • Partager sur Twitter
      29 juillet 2009 à 21:33:23

      Dans la boucle :
      for (i in resultats) 
         {	
            var schema = oData.getElementById(i);
      


      je crois que i est l'index des valeurs de la variable "resultats".

      Peut-être qu'en remplaçant "oData.getElementById(i)" par "oData.getElementById(resultats[i])" ça marcherait ?
      • Partager sur Facebook
      • Partager sur Twitter
        29 juillet 2009 à 22:36:28

        Non c'est bien i (vais pas expliquer pourquoi) de toute façon le code est bon puisqu'il marche sous FF. Il est juste pas compatible avec les autres navigateurs a cause (au moins) de cette ligne là c'est sûr.
        • Partager sur Facebook
        • Partager sur Twitter
          30 juillet 2009 à 12:30:44

          getElementById est une méthode de l'objet document... pas des autres noeuds... (Logique, puisqu'un id est censé être unique dans la page)

          for (i in resultats) 
             {	
          			
                var schema = document.getElementById(i);
          
          • Partager sur Facebook
          • Partager sur Twitter
            30 juillet 2009 à 12:39:24

            Heu dsl mais j'ai a pas bien compris. Qu'est ce que j'ai fais de mal ?
            Je charge un document XML dans oData et je demande de récupérer l'élément d'id i. C'est bien le rôle de la fonction getElementById(). De plus ca marche sous FF donc ca doit pas être si faux que ca.
            • Partager sur Facebook
            • Partager sur Twitter
              30 juillet 2009 à 12:52:04

              Bah non Golmote...
              Il vaut lélément ayant cet id DANS LE RETOUR XML.
              Mais ça existe en xml gebi() ?
              Et fais des
              try{/* ton code */ catch(e){alert(e);}
              
              pour tester.
              • Partager sur Facebook
              • Partager sur Twitter
                30 juillet 2009 à 12:56:11

                try{var schema = oData.getElementById(i);}
                catch(e){alert(e);}
                


                Y'a pas de soucis ca marche très bien. Je dirais même que mon script marche très bien et fait exactement ce que je lui demande. Sauf que getElementById retourn tjs null sous chrome. Alors forcement ca n'affiche rien mais le script s'exécute bien.
                • Partager sur Facebook
                • Partager sur Twitter
                  30 juillet 2009 à 13:10:49

                  Ah pardon... est-ce que ça pourrait être ça alors ?

                  for (i in resultats) 
                     {	
                        var schema = oData.documentElement.getElementById(i);
                  


                  (ou un truc dans le genre ? J'ai un vague souvenir d'une erreur similaire il y a longtemps...)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 juillet 2009 à 13:17:20

                    Non. Ça change rien au problème. ca marche sous FF et Opéra mais pas sous chrome et encore moins IE
                    • Partager sur Facebook
                    • Partager sur Twitter
                      30 juillet 2009 à 14:01:06

                      Alors plusieurs chose qui sont pas très cross-browser :
                      elmt.getAttribute("truc"); => elmt["truc"];
                      firstChild ne marche pas chez moi... A la place j'ai du coder une fonctions équivalent :
                      function getFirstChild(elmt)
                      {
                      	var children = elmt.childNodes;
                      	for(var i = 0; i < children.length; i++) {
                      		if(children[i].nodeType == 1) {
                      			return children[i];
                      		}
                      	}
                      }
                      

                      Et pour finir (i in truc) :euh:
                      Je ne sais pas si tu l'utilise avec un vrai Array mais si c'est un Array-like comme arguments ou encore les HTMLCollection que renvoient les getElementsBy[Tag|Class]Name ça marche pas parce que ça prend aussi leurs fonctions comme item pour HTMLCollection

                      Il y en a surement d'autre...
                      ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 juillet 2009 à 14:18:07

                        Comment ca getAttribute c'est pas bien o_O . Si on peux même plus faire confiance aux fonctions de base...
                        De toute façon :

                        var id = listeSchema[i].getAttribute("id");
                        var id = listeSchema[i]['id']
                        var id = listeSchema[i]; id = id['id'];

                        Y'a que le premier qui marche.

                        Ensuite si firstchild ne te plait pas il suffit de remplacer pas childNodes[0].

                        Enfin le tableau "resultat" est de la forme [_6] => 2, [_5] => 4, [_7] = 5 etc...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          30 juillet 2009 à 15:12:34

                          Non, pour le firstChild, je pense qu'il fait référence aux noeuds de texte vides de Mozilla...

                          Mais là vu que ça fonctionne sous FF.... :euh:



                          Sinon, IE te marque une erreur ? Si oui, quel est le message d'erreur ? (double-clic sur l'icône tout en bas à gauche)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 juillet 2009 à 15:43:10

                            Citation : Golmote

                            Sinon, IE te marque une erreur ? Si oui, quel est le message d'erreur ? (double-clic sur l'icône tout en bas à gauche)


                            Ou ca ? j'ai rien en bas a gauche moi.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 juillet 2009 à 15:44:20

                              Bah dans IE, t'as pas un truc genre "terminé, mais il y a des erreurs", ou un point d'exclamation ou je sais plus trop quoi ?
                              • Partager sur Facebook
                              • Partager sur Twitter
                                30 juillet 2009 à 15:48:35

                                Pardon c'est moi, la fonction se fait onkeypress et j'avais pas key pressé ^^.

                                Citation

                                Détails de l’erreur de la page Web

                                Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Orange 8.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618)
                                Horodateur : Thu, 30 Jul 2009 13:48:05 UTC


                                Message : Cet objet ne gère pas cette propriété ou cette méthode
                                Ligne : 52
                                Caractère : 3
                                Code : 0
                                URI : http://localhost/Bio/Javascript/dom.js



                                var schema = oData.documentElement.getElementById(i);
                                

                                Mais sous IE c'est moins grave que ca ne marche pas. Car ca ne fait strictement rien. Donc on peux tjs lancer le stript php. Mais sous chrome ca renvoie null et donc on a une page blanche et ca c'est plus grave.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  30 juillet 2009 à 16:54:42

                                  page blanche -> bug -> try{}catch(e){} -> on sait ce qui merde
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    30 juillet 2009 à 17:54:34

                                    Mais je suis pas sûr que tu puisses utiliser getElementById() sur un retour Ajax XML... t'as peut-être raison xav.
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      30 juillet 2009 à 20:20:54

                                      Citation : Aravis

                                      xavierm02 : http://www.siteduzero.com/forum-83-427 [...] html#r3988320


                                      Je te parle de le faire sur l'ensemble de la fonction... (parce que si tu prends tout le script, c'est la déclaration des fonctions qui va être testée).

                                      @Golmote : pour changer :-°
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        30 juillet 2009 à 20:57:25

                                        Citation : Golmote

                                        t'as peut-être raison xav


                                        Citation : xavierm02

                                        pour changer :-°


                                        Tranquille toi :lol:
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          30 juillet 2009 à 22:02:48

                                          Citation

                                          Je te parle de le faire sur l'ensemble de la fonction... (parce que si tu prends tout le script, c'est la déclaration des fonctions qui va être testée).


                                          Ce qu'il fallait retenir de mon post c'était :

                                          Citation

                                          Y'a pas de soucis ca marche très bien. Je dirais même que mon script marche très bien et fait exactement ce que je lui demande. Sauf que getElementById retourn tjs null sous chrome. Alors forcement ca n'affiche rien mais le script s'exécute bien.


                                          De toute façon le script a été testé. Exception ou pas j'ai testé tout. Et le seul et unique problème viens du fait que getElementById renvoi toujours null sous chrome...

                                          Alors peut être qu'on peux pas utiliser getElementById() sur un retour XML (sous chrome) mais alors si on peux pas utilisé un fonction de base qui sert tous les jours, ou va le monde ? Et qu'est ce que je peux utiliser ?
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            30 juillet 2009 à 22:16:47

                                            Est-ce que si tu fait un getElementsByTagName('*'); ça renvoie bien un HTMLCollection contenant tous les éléments ? Parce que dans ce cas là tu as cas recréer une fonction getElementById ;)
                                            PS : un truc du genre :
                                            function getElementById(str)
                                            {
                                                 var all = document.all || document.getElementsByTagName('*');
                                                 for(var i = 0; l = all.length; i < l; i++) {
                                                      if(all[i].id == str) {
                                                           return all[i];
                                                      }
                                                 }
                                                 return null;
                                            }
                                            

                                            Ici ça remplace bien cette fonction :-°
                                            ^^
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              30 juillet 2009 à 22:24:57

                                              Je comprend pas... Même si un getElementsByTagName('*') renvoi toute la collection ca ne remplace pas un getElementById()
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                31 juillet 2009 à 1:00:14

                                                Non mais Aravis, l'explication concernant le XML est très logique.

                                                Tu sais sans doute que le HTML est un XML spécial, au final.

                                                En HTML, l'attribut "id" est un attribut devenu courant, et en JS, ils ont inventé getElementById() pour repérer facilement un élément HTML dans la page.

                                                Maintenant en XML, l'attribut "id" n'a pas plus d'intérêt qu'un autre attribut. Donc l'intérêt d'utiliser getElementById() est grandement limité. ^^
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  31 juillet 2009 à 7:53:46

                                                  Ce que tu dis se tient... En admettant que c'est pas très utile de mettre des id dans un document XML. Or ça j'en suis pas convaincu. Les id ça sert a tout. D'ailleurs la plupart des document XML que j'ai pu lire comportaient des id parce que c'est quasi indispensable.

                                                  Alors en admettant que tu ais raison... Comment je fais ?
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    31 juillet 2009 à 8:51:46

                                                    Citation : louf404


                                                    function getElementById(str)
                                                    {
                                                         var all = document.all || document.getElementsByTagName('*');
                                                         for(var i = 0; l = all.length; i < l; i++) {
                                                              if(all[i].id == str) {
                                                                   return all[i];
                                                              }
                                                         }
                                                         return null;
                                                    }
                                                    

                                                    Comme j'ai pas l'impression que tu as vu mon EDIT... je reposte ma fonction qui fait comme getElementById()...
                                                    PS : on peut l'améliorer, en enlevant par exemple les caractères blancs en début et fin de la chaine avec des regex
                                                    (et si all[i].id ne marche pas il y a toujours all[i].getAttribute('id'))
                                                    ;)
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      31 juillet 2009 à 9:17:15

                                                      T'es un chef toi ! C'est super. C'est au moins compatible FF, IE, <acronym title="Google Chrome">GC</acronym> et Opéra.

                                                      Allez parce que j'aime pas quand tout va bien je vais faire chier mon monde encore un peu...
                                                      C'est pas un peu hyper lourd comme code ? Boucler sur toutes les balises du document c'est hard, tout ca pour émuler une fonction normalement optimisée. Je dis peut être une bétise mais je pose la question quand même.

                                                      Edit : La solution exacte au problème est donc d'émuler la fonction getElementById grâce à ce code.

                                                      function getElementById(xml, str)
                                                      {
                                                           var all = xml.all || xml.getElementsByTagName('*');
                                                           for(var i = 0, l = all.length; i < l; i++) {
                                                                if(all[i].getAttribute('id') == str) {
                                                                     return all[i];
                                                                }
                                                           }
                                                           return null;
                                                      }
                                                      

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        31 juillet 2009 à 9:22:32

                                                        Ben a vrai dire je pense que les fonctions font comme la mienne... Elle doivent être mieux gérées par le navigateur mais bon...
                                                        Ps: je suis en train de créer une librairies et comme je trouve que c'est une excellente idée, j'ai fait comme jQuery : une syntaxe css...
                                                        Et bien j'ai été obligé de recréer tout plein de fonctions qui faisait des truc bizarre sur certain navigateur (comme par exemple : tout les getElement... String.split, pour DOM j'ai recréer des fonctions pour avoir leurs 1er child, tous les siblings et j'en passe) Donc ça m'étonnerait que jQuery n'est pas été obligés de faire de même (sinon c'est vraiment des bons). En gros ce n'est pas vraiment un problème ^^
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          31 juillet 2009 à 9:24:12

                                                          Ok. Par contre all[i].id ça marche pas j'ai remplacé comme tu m'as dit.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            31 juillet 2009 à 10:13:24

                                                            Citation : louf404

                                                            j'ai fait comme jQuery : une syntaxe css...



                                                            Pitié, ne me dit pas que tu as essayé d'en refaire une à ta sauce ? o_O Tu sais qu'à peu près tout le monde utilise sizzle ? http://sizzlejs.com/

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Ajax qui ne fonctionne que sous FF

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                            • Editeur
                                                            • Markdown