Accueil > Forum > > > > Boucle infinie Element.prototype (.appendChildJsonElement)
Boucle infinie Element.prototype (.appendChildJsonElement)
dimanche 17 août 2008 à 19:35:07 |
Boucle infinie Element.prototype (.appendChildJsonElement)

JoJo738
|
Hello tous ;) Après moult recherches sur le web, n'ayant point trouvé mon bonheur, je me suis mis à programmer ^^ El fait, je cherche à construire à partir de codes Json l'équivalent en Element (afin de m'éviter toute cette tache laborieuse des document.createElement ^^) Et par soucis de propreté de mon code j'ai decidé de l'implémenter directement dans le Element.prototype Et là, j'ai un gros soucis ... tout marche, sauf quand je veux passer à l'element enfant (à savoir create.appendChildJsonElements(json[i]);) ou je me retrouve avec une boucle infinie (ici label (ok)/description (ok)/description (plus ok)/description/.../description/...) Quelqu'un à une idée ?? La fonction : Element.prototype.appendChildJsonElements = function (json) { if( json == 'undefined' ) { throw 'Error !'; } else if( json.constructor == String ) { // element.appendChildJsonElements('TextNode'); this.appendChild(document.createTextNode(json)); } else { if( json[0].constructor != String ) { throw 'The first argument must be a String (name of the Element)'; } //alert('# createElement("' + json[0] + '");'); // The first argument : // ['ELEMENT' \[, Args\]] create = document.createElement(json[0]); for ( i = 1 ; i < json.length ; i++ ) { if( json[i] instanceof String ) { // Text : String format // ['element', 'texte'] create.appendChild(document.createTextNode(json[i])); } else if( json[i] instanceof Array ) { // New Element [Element \[, Args\]] // ['element', ['otherelement']] alert('### createnewelement ' + json[i]); //create.appendChildJsonElements(json[i]); create.appendChildJsonElements(json[i]); } else if( json[i] instanceof Object ) { // Arguments {'name' : 'value'} // ['element', {'name' : 'value', 'name2' : 'value2'}] for( val in json[i] ) { create.setAttribute(val, json[i][val]); } } } this.appendChild(create); } }
r = [ 'description', {'label' : 'text label', 'style' : 'color: red'}, 'Text normal', [ 'label', {'value' : 'text value', 'style' : 'color: green'}, ], [ 'description', {'label' : 'text label', 'style' : 'color: pink'}, ], ]; $('echo').appendChildJsonElements(r);
^^ Je travaille en XUL (XulRunner) Si ma reponse te convient, merci de l'accepter ! 
|
|
lundi 18 août 2008 à 10:46:10 |
Re : Boucle infinie Element.prototype (.appendChildJsonElement)

christophe charron
|
Bonjour, remarque/question certainement très bête car je ne connais rien à l'interaction json xul mais : - Quelle erreur est renvoyée ?
- Comme sait-on que l'on est dans le bons domaine de nom ?
Je suis preneur d'infos sur json et xul car c'est en recherchant ce genre d'info que je suis tombé sur ce post (mais je développe en remote xul) -- Cordialement, Christophe Charron
|
|
lundi 18 août 2008 à 11:43:03 |
Re : Boucle infinie Element.prototype (.appendChildJsonElement)

JoJo738
|
Hello, - Justement, aucune erreur :s C'est juste le code qui tourne en boucle D'ailleurs, cela ne le fait pas si il y a seulement 1 sous-element :S - "Le domande de nom" ? Je n'utilise pas de domaine de nom ... Tu veux dire l'element parent auquel on ajoute l'élement crée ? (on extend element grace à element.prototype / le this. permet de le récupérer) Euh, être en Xul ne change rien, c'est du bon vieux Javascript ^^ (pour ceux qui hésiteraient à répondre  ) Si ma reponse te convient, merci de l'accepter ! 
|
|
lundi 18 août 2008 à 12:05:02 |
Re : Boucle infinie Element.prototype (.appendChildJsonElement)

christophe charron
|
Pour des objets html, en effet, pas besoin de d'utiliser le domaine de nom, mais pour des objets xul, il faut lui indiquer, sinon comment veux-tu qu'il lui attribue les bons attributs/propriétés/méthodes inhérent à xul Donc pour ajouter un treeitem, par exemple, qui n'existe pas encore en html, il faut var treeItem = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul","treeitem"); idem pour insérer des éléments SVG par exemple ... Et tu devrais essayer de poser ta question dans le forum de xulfr : [ Lien ]
|
|
lundi 18 août 2008 à 13:44:20 |
Re : Boucle infinie Element.prototype (.appendChildJsonElement)

JoJo738
|
Re, Euh ... non, pas besoin. Mon script fonctionne et pas besoin de spécifier les domaines de nom (j'ai bel est bien un rendu correcte (1er niveau)) ^^ (le domaine de nom étant spécifié dans le window) Apparemment ce serait un problème javascript puisque ma fonction ne fait que traduire des données JS Si ma reponse te convient, merci de l'accepter ! 
|
|
Cette discussion est classée dans : label, element, create, json, appendchildjsonelements
Répondre à ce message
Sujets en rapport avec ce message
pointeur sur element [ par bumblebee ]
Boonjour, Je voudrais savoir comment récupérer un pointeur sur un élément de tableau qui se trouve dans un formulaire g déjà essayer ça mais marche po
Listbox [ par mymic ]
Alors j ai une textBox, en cliquant sur un bouton Ajouter la valeur saisie est ajoutée dans une listbox, imaginez un instant qu un utilisateur landa
Pb avec Drag And Drop [ par Sylvain74 ]
Bonjours tout le monde,voila,j a'ai recupéré un script permettant de faire du drag and drop avec les lignes d'un tableau.Je l'ai adapter pour passer d
Selectionner tout les element d'un select [ par Cestmoi ]
comment puis-je selectionner tout les elements d'une liste de choix en javascript ?Mon controle s'appelle "serv" et la fonction "sel().Merci !
XHTML 1.0 strict et OnClick [ par eijii ]
Bonjour,ces les vacances et depuis quelques jours je m'attèles à refaire de a à z mon pt'it site. Mais j'ai un soucis lorsque je passes mon site avec
onmouseover dans une iframe [ par ourson93 ]
bonjourj'ai un problème de onmouseover et onmouseout .je m'explique, j'ai une iframe dans une iframe et dans celle-ci j'ai<a href="A.html" onmouseover
compter le nombre de radio button [ par misterdarth ]
Bonjour,Lors de la saisie d'un formulaire, je cherche à tester certains champs afin de m'assurer que l'utilisateur n'a pas mis n'importe quoi.Dans ce
Acceder au contenu d'un element d'un tableau... [ par Grand Mamamouchi ]
Bonjour ! Pourriez-vous me dire comment je peux acceder au contenu d'un element d'un tableau a partir d'un autre element du meme tableau ? Merci de
recherche dans une listbox [ par patinaroulette ]
salut a tous!!! j'ai besoin d'aide SVPPPP le probleme est le suivant : j'ai un champ de saisie et une liste box et lorsque je tape une serie de let
selectionné une element dans liste deroulante [ par flammeon ]
bonjour j'aimerai savoir comment faire pour selectionné un item dans une liste deroulante.
Livres en rapport
|
Derniers Blogs
L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
Comparez les prix

HTC Hero
Entre 550€ et 550€
|