begin process at 2010 02 10 17:37:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Javascript XML et Mozilla


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Javascript XML et Mozilla

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ée 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 Supprime toujours la dernière ligne du tableau ? [ par alaska749 ] Bonsoir, J'ai ré-adapté un code trouvé afin qu'il m'initialise et me crée à chaque appel de la fonction, un tableau dynamique en fonction d'une chain 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 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 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 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 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 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

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales