Envoyé par : Utilisateur anonyme
Date : 06/03/2005 20:28
salut
une question de débutant : en javascript, j'utilises document.write, et je n'ai pas trouvé d'équivalents en XUL... comment faire... Merci d'avance
c'est pour réaliser une aplication de gestion commerciale, et j'ai vraiment du mal pour le moment (je code POO, et je suis débutant en XUL)...
Envoyé par : Utilisateur anonyme
Date : 06/03/2005 20:39
une solution alternative serait d'ajouter qqch dans une liste : <listitem>
Envoyé par : Lapinator
Date : 07/03/2005 10:51
Il faut passer par le DOM.
Regarde les composants suivants :
Voir : http://mozref.com/reference/objects/Docu(..)
du moin c'est la méthode que j'utilise.
Envoyé par : Utilisateur anonyme
Date : 07/03/2005 21:29
j'ai copié deux exemples, (pour pouvoir ensuite créer une liste) mais je n'arrives pas à le faire fonctionner, rien ne s'affiche sous firefox...
var ele = document.createElement('a'); var href = document.createAttribute('href'); href.value = 'http://mozref.com'; ele.appendChild(document.createTextNode('Mozilla AOM Reference'));
var newEle = document.createElement('b'); var newText = document.createTextNode('this text is bold'); newEle.appendChild(newText);
Envoyé par : Utilisateur anonyme
Date : 08/03/2005 20:16
Je viens de modifier ton code pour qu'il fonctionne. Si tu as des questions n'hésite pas.
<html> <head><title>test génération dom</title> </head> <body> <script type="text/javascript"> //création de l'élément var ele = document.createElement('a'); //assignement des attributs ele.setAttribute('href','http://mozref.com'); //création du texte enfant et assignation à l'élément ele.appendChild(document.createTextNode('Mozilla AOM Reference')); //même démarche var newEle = document.createElement('b'); var newText = document.createTextNode('this text is bold'); newEle.appendChild(newText); //récupération de l'élément body, et assignation des deux éléments créés. //getElementsByTagName renvoie un tableau avec tous les éléments qui correspondent. Ici il n'y en a qu'un, logiquement, //donc on récupère le premier élément du tableau, soit body[0] body=document.getElementsByTagName("body"); body[0].appendChild(ele); body[0].appendChild(newEle); </script> </body> </html>
Envoyé par : Utilisateur anonyme
Date : 12/03/2005 11:14
re j'ai ce bug :
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: "file:///var/www/xul/logiciel_de_caisse/liste.xul Line: 74"]
pour ce fichier la :
<?xml version="1.0" encoding="ISO-8859-1" ?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="findfile-window" title="cryptographie" orient="vertical" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <command id="details" oncommand="details();"/> <command id="delete" oncommand="remove_list();" accesskey="r" /> <popupset> <popup id="clipmenu"> <menuitem label="suprimer" command="delete"/> <menuitem label="détails" command="details"/> </popup> </popupset>
<description id="title" value=""/>
<listbox id="theList" context="clipmenu"> <listhead> <listheader label="nom"/> <listheader label="prénom" /> <listheader label="tranche d'age" /> </listhead> <listcols> <listcol flex="2"/> <listcol flex="1"/> <listcol flex="1"/> </listcols> </listbox>
<script> <![CDATA[ //quelques constantes qui personalisent la gestion de l'entreprise const entreprise_action = 'coiffé(e)'; const entreprise_nom = 'exclusif espace coiffure M bis coiffure';
//on personnalise le titre document.getElementById("title").setAttribute('value','gestion de : '+entreprise_nom);
//une class qui permet de stoquer un client function Client(titre,nom,prenom,tranche_d_age,adresse,code_postal,pays,collaborateur){ //déclarations de variables this.titre = titre; this.nom = nom; this.prenom = prenom; this.tranche_d_age = tranche_d_age; this.adresse = adresse; this.code_postal = code_postal; this.pays = pays; this.collaborateur = collaborateur; //déclaration de fonctions this.details = Client_function_details; } function Client_function_details(){ return this.titre+' '+this.nom+' '+this.prenom+' '+this.tranche_d_age+' '+this.adresse+' '+this.code_postal+' '+this.pays+' '+entreprise_action+' par : '+this.collaborateur; } //les datas des clients clients=new Array(); clients[0]=new Client('Mme','Chaussette','Marie','40-50','666 rue jean bepeteste pockelin','4444','France','maman'); var toadd=document.getElementById('theList'); //création de l'élément for (i=0;i<1;i++){ ele = document.createElement('listitem'); //création du texte enfant et assignation à l'élément ele.appendChild(toadd); ele2 = document.createElement('listcell'); //assignement des attributs ele2.setAttribute('label',clients[i]); //création du texte enfant et assignation à l'élément ele.appendChild(ele); } function remove_list(){ var list = document.getElementById("theList"); if (list.selectedItem != null) list.removeItemAt(list.selectedIndex+2); }
function details() { var list = document.getElementById("theList"); var elem=document.getElementById("descrbar"); elem.setAttribute('value',clients[list.selectedIndex].details()); }
]]> </script> <description id="descrbar" value=""/> </window>
Envoyé par : Julien Appert
Date : 12/03/2005 12:33
ouh là, c'est imbuvable ce que tu viens de nous poster là. Tu devrais utiliser la prévisualisation avant de valider...
Envoyé par : laurentj
Date : 15/03/2005 13:46
j'ai corrigé la présentation...
max :
Node cannot be inserted at the specified point in the hierarchy
Ça m'a l'air pourtant clair cette erreur...
Envoyé par : Utilisateur anonyme
Date : 18/03/2005 18:59
aparement, c'est plus compliqué que je ne le croyais...
pouvez vous me contacter à l'adresse suivante : coucou747---a--t---wanadoo.fr
Envoyé par : Utilisateur anonyme
Date : 19/03/2005 14:22
merci, j'ai trouvé grace à vous une solution a peu près élégante...
si vous pouviez me filer un coup de main pour suprimer un onglet... toujours en js...
j'ai créé des onglets gràce à la méthode que vous m'avez indiqué, puis, j'aimerais qu'en cliquant dans le menu, on puisse suprimer l'onglet en cours...
var list1 = document.getElementById("clients_selected_body"); var list2 = document.getElementById("clients_selected_labels"); list2.removeItemAt(list2.selectedIndex); list1.removeItemAt(list2.selectedIndex);
donc, je suis bloqué sur cette fonction, lorsque je mets en commentaire la troisième ligne, l'onglet disparait, mais le body reste... je ne veux pas lui mettre l'atribut style.display="none"; car ça surchargerais le programme...
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.