Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Javascript XML et Mozilla [ JavaScript et le navigateur / Autre ] (opeo31)

lundi 11 août 2008 à 17:20:43 | Javascript XML et Mozilla

opeo31

Bonjour,
j'ai un très gros souci sur mon code qui marche bien sur IE, mais plante sur Mozilla.
En effet il s'agit en gros de récupérer le choix d'un utilisateur, l'insérer dans un flux xml
qui est utilisé dans l'autre page. Le problème c'est l'affichage du choix de l'utilisateur et
et la construction du flux. Tout ça marche bien sous IE.
j'ai ajouté dans le code le teste des navigateurs, et j'ai les erreurs au niveau de :
xCrit.documentElement.appendChild ->(voilà ce que j'ai fait : xCrit.appendChild()..)
puis
cell = ligne.insertCell();->(ici j'ai fait cell = ligne.insertCell(0); en incrémentant pour chaque cellule)

mais rien ne s'affiche. Je suppose que l'ajout d'attribut n'est pas pris en compte avec ce navigateur !


Voilà les codes :

<script language="JavaScript">
 // création d'un objet  xCrit
 
 var tab=new Array(3);
 var  nbcrit = 0;

 /*--
  -->Ce code en commentaire marche bien sous IE

  var xCrit = new ActiveXObject("MSXML.DomDocument");
       xCrit.loadXML("<root />");
 --*/

 //--test (pour avoir le type de navigateur)

  if(window.ActiveXObject){
       var xCrit = new ActiveXObject("Microsoft.XMLDOM");
        xCrit.loadXML("<root />");

  }else if(document.implementation && document.implementation.createDocument){

   var xCrit = document.implementation.createDocument("","",null);
   xCrit.load("<root />");
   
  }else{

   alert("Votre navigateur ne prend pas cette méthode de recherche !");
   
  }


 //--fin test

 var cptCrit = 0 ;

function Crite(ctype, csigne,cval) {
  this.ltype = ctype;
  this.signe = csigne;
  this.valeur= cval;
 }
 function ajoutcrite(a,b,c){
  tab[nbcrit++] = new Crite(a,b,c);
  return true;
 }
function ajoutCritere(){
 
  
         var letype = document.MRB.ltype[document.MRB.ltype.selectedIndex].value;
  var titre1 = document.MRB.ltype[document.MRB.ltype.selectedIndex].text;
  var lesigne  = document.MRB.signe.value;
  var lavaleur = document.MRB.valeur.value;

  if(isNaN(lavaleur)){
   alert("Rentrez une valeur numérique SVP merci !");
   document.MRB.valeur.focus();
   return false
  }

  for (var K=0;K < nbcrit;K++) 
  {
   if ((tab[K].ltype == letype) && (tab[K].signe == lesigne) && (tab[K].valeur == lavaleur)){

    alert("Vous avez déjà sélectionné ce critère ");

    return false ;
   }
  }

 
         if((letype !="")&&(lesigne !="")&&(lavaleur !="")){

   
           var xNoeud = xCrit.createElement("critere");   // Création du nouveau noeud...
           
   xNoeud.setAttribute("id", ++cptCrit);          // ... avec ses attributs
           xNoeud.setAttribute("letype", letype);
    xNoeud.setAttribute("lsign", lesigne);
   xNoeud.setAttribute("laval", lavaleur);

           xCrit.documentElement.appendChild(xNoeud);      // On l'ajoute dans le XML marche avec IE
   
   
   

   // AFFICHAGE : tab1 ici est l'id du champ ou va s'afficher le choix de l'utilisateur
   
   ligne = tab1.insertRow(tab1.rows.length-1);
   cell = ligne.insertCell(); //cell = ligne.insertCell(0);
   cell.className = "border";
   cell.align = "center";

   cell.innerText = MRB.ltype.options[MRB.ltype.selectedIndex].text;
   cell = ligne.insertCell(); //cell = ligne.insertCell(1);
   cell.className = "border";
   cell.align = "center";

   //cell.innerText = MRB.signe.value;
   cell.innerText = MRB.signe.options[MRB.signe.selectedIndex].text;
   cell = ligne.insertCell(); //cell = ligne.insertCell(2);
   cell.className = "border";
   cell.align = "center";
  
   cell.innerText = MRB.valeur.value;
   cell = ligne.insertCell(); //cell = ligne.insertCell(3);
   cell.className = "border";
   cell.align = "center";

   ajoutcrite(document.MRB.ltype.options[document.MRB.ltype.selectedIndex].value,document.MRB.signe.value,document.MRB.valeur.value);
   
   cell = ligne.insertCell(); //cell = ligne.insertCell(4);
   cell.className = "border";
   cell.align = "center";
   cell.innerHTML = ["<img align='absmiddle' alt='Supprimer ce critère !' src='../images/supr.gif'  border='0' onclick='supCritere(" + cptCrit +");' style='cursor:hand'>"];
  
   if(tab1.rows.length >=1){

    //document.MRB.chercher.disabled=false ;
    document.getElementById("chercher").disabled=false ;
   }

   
  }
  
 }
</script>

Je vous remercie d'avance de votre aide .


lundi 11 août 2008 à 21:51:54 | Re : Javascript XML et Mozilla

maelob

Membre Club

Bonjour,

Quand on a un problème avec un code sous firefox le miex est de regarder les erreurs dans la console javascript ça nous permet en general de cibler plus facilement le problème.



Maelo ou Elo --> Mon blog
Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)



mardi 12 août 2008 à 00:10:32 | Re : Javascript XML et Mozilla

opeo31

C'est justement ce que j'ai fait. En effet j'ai essayé de donner les erreurs et donner en suite comment j'ai fait en même temps j'ai donné tout le code.
Bien voilà les erreurs que j'ai rencontré :
xCrit.loadXML is not a function (je l'ai remplacé par xCrit.load)

xCrit.documentElement has not properties (en fait c'était pour xCrit.documentElement.appendChild  que j'ai remplacé par xCrit.appenCild)
 

Avec ces corrections voilà les nouvelles erreurs :

Erreur : uncaught exception: [Exception... "Not enough arguments"  nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"  location: "JS frame :: monsite :: ajoutCritere :: line 120"  data: no]

Erreur : uncaught exception: [Exception... "Node cannot be inserted at the specified point in the hierarchy"  code: "3" nsresult: "0x80530003 (NS_ERROR_DOM_HIERARCHY_REQUEST_ERR)"  location: "monsite Line: 114"] (qui correspond à : xCrit.appenCild) alors je comprend plus ce qu'il faut faire. Alors j'ai remis le code qui y était avant(xCrit.documentElement.appendChild ) et j'ai alors l'ancienne erreur.
Je vous remercie de votre aide . Je suis long car j'essai d'apporter plus de précision .

 


mardi 12 août 2008 à 07:06:22 | Re : Javascript XML et Mozilla

bultez

Membre Club
bonjour,
je vais peut-être dire une bétise...
mais je pense que FF cherche à charger un fichier, qui s'appelerait <root />
       et ça lui fait tout drôle...
       je ne sais pas si on trouve l'équivalent du loadXml de IE ?
à propos, il faut attendre la fin du chargement, on ne sait jamais.
            var xCrit = new ActiveXObject("Microsoft.XMLDOM");
            xCrit.onreadystatechange = function()   
                {        if (xCrit.readyState == 4 )
                         {   alert( xCrit.xml);    }
               }
            xCrit.loadXML("<root>exemple</root>");
( ou alors mettre en synchrone )
          Cordialement     Bul  [mon Site] [M'écrire]

mardi 12 août 2008 à 11:46:56 | Re : Javascript XML et Mozilla

opeo31

Bonjour,
en testant votre code voilà l'erreur reçu dans la console d'erreurs :
ActiveXObject is not defined  et  xCrit has not properties .
Je suis toujours coincé. Je vous remercie de votre aide.


mardi 12 août 2008 à 11:53:33 | Re : Javascript XML et Mozilla

bultez

Membre Club

mon exemple était pour remplacer votre séquence avec IE
                  il ne fonctionnera pas come ça avec FF

vous aviez une séquence propre à FF et je disais :
       je pense que FF cherche à charger un fichier, qui s'appelerait <root /> ( .load )
           et ça lui fait tout drôle...
       je ne sais pas si on trouve l'équivalent du loadXml de IE ?


       Cordialement     Bul   [mon Site] [M'écrire]

mardi 12 août 2008 à 12:15:52 | Re : Javascript XML et Mozilla

opeo31

Merci de la précision,
En fait l'autre code marche bien avec IE de même que le tien.
Je suis toujours coinçé avec FF. Je vous remercie encore.

mardi 12 août 2008 à 12:27:31 | Re : Javascript XML et Mozilla

bultez

Membre Club

>> l'autre code marche bien avec IE
certes... mais ça pourrait dépendre des circonstances.

>> toujours coinçé avec FF.
hélas. faut trouver l'équivalent de loadXml, ce que je suis bien
         incapable de faire, tout étant dans un patois auquel je ne comprend
         que si peu... lire une doc ( avec des exemples ), j'arrive à m'en sortir,
         faire une recherche... faut pas réver.
maelob ( plein de bises ) n'a pas ce souci, peut-être sait-elle....

          Cordialement     Bul     [mon Site]   [M'écrire]



Cette discussion est classé dans : ligne, document, cell, insertcell, mrb


Répondre à ce message

Sujets en rapport avec ce message

suppression ligne tableau [ par touriste80 ] BonjourJ'ai un ptit souci!! dans une colonne d'un tableau j'ai supprimé pour supprimer la ligne que je veux dans le tableau. chaque ligne rajoutée dan erreur de passage de paramètre dans une urL [ par cousinlol ] Bonjour, Un problème a priori simple sur le passage de paramètre d'une url. Voici mon code :Co PB affichage avec document.getElementById(texte).innerhtml [ par telecofr ] Salut,  sur mon site, j'ai mis un aperçu direct lors de l'écriture des messages du livre d'or.  Mon code est le suivant: Code Javascript :function Rem onclick dans createElement s'exécute automatiquement [ par cousinlol ] Bonjour,Je crée dynamiquement une partie d'un formulaire.Je crée cette ligne :[code]cell = document.createElement('a');            texte = document.cr Créer cellule td dans un tableau html [ par mike1310 ] Bonjour,J'ai un probleme de compatibilité entre IE et Mozilla (le truc super rare !!! ).Mon probleme lors d'un clic, sur un bouton, je dois pouvoir aj calendrier qui ne fonctionne pas [ par da vince ] Salut, I need some help...Pourquoi ça marche pas?J'ai pas de message d'erreur mais rien ne s'affiche dans le navigateur...PS: y-a-t-il moyen de joindr Créer une ligne dans une table (en 1ere position) [ par lipao ] bonjour c'est tout bete, tout est dans le titre... je voudrais créer une ligne dans une table et qu'elle soit la 1ère ligne c'est à dire passer de Probleme setAttribute dans une table dynamique [ par ShivaanKeldon ] Bonjour J'ai créé un petit outil de comptage de points pour le tarot, en javascript. le calcul en lui meme fonctionne très bien, mais c'est au niveau Suppression de ligne [ par chris tuckers ] Hello tout le monde.Cette fois-ci, je recherche le nom d'une fonction qui permet de faire remonter des lignes, après les avoir cacher. Je m'explique. Une erreur dans une ligne...où est-elle ? :( [ par Inekman ] Salut,je ne suis pas débutant, ni intermédiaire et ni expert. cependant, il se trouve qu'aujourd'hui je dois utiliser une fonction en Javascript et ce


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.