Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# document.write

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)...

# Re: document.write

Envoyé par : Utilisateur anonyme

Date : 06/03/2005 20:39

une solution alternative serait d'ajouter qqch dans une liste : <listitem>

# Re: document.write

Envoyé par : Lapinator

Date : 07/03/2005 10:51

Il faut passer par le DOM.

Regarde les composants suivants :

  • document.cretateElement()
  • node.appendChild()
  • node.insertBefore()

Voir : http://mozref.com/reference/objects/Docu(..)

du moin c'est la méthode que j'utilise.

# Re: document.write

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);

# Re: document.write

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>

# Re: document.write

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>

# Re: document.write

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...

# Re: document.write

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...

# Re: document.write

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

# Re: document.write

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.