SELFHTML

Forum SELFHTML: Archives:
impression dans une autre fenêtre et sélection

Page d'information: vue d'ensemble
vers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: Mat, 05. 10. 2004, 10:38

Bonjour

J'ai une page html contenant un tableau de 20 colonnes
J'aimerais qu'il y ait un bouton ouvrant un petit pop-up (ou une petite fenêtre) qui ferait office de fenêtre de sélection

grâce à des checkbox dans cette fenêtre de sélection, j'indiquerais les colonnes de mon tableau à imprimer et finalement, cela s'imprimerait

comment résoudre ce problème ?

merci


 
vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: Patrick Andrieu, 05. 10. 2004, 13:31
http://actuel.fr.selfhtml.org/equipe/patrick.htm

Bonjour!


»» J'ai une page html contenant un tableau de 20 colonnes
»» J'aimerais qu'il y ait un bouton ouvrant un petit pop-up (ou une petite fenêtre) qui ferait office de fenêtre de sélection
»»

Créer un lien ou bouton pour ouvrir un popup ne devrait pas poser de problèmes (voir SELFHTML). Mais ton intention ici:

»» grâce à des checkbox dans cette fenêtre de sélection, j'indiquerais les colonnes de mon tableau à imprimer et finalement, cela s'imprimerait

restera certainement irréalisable. Les tableaux étant "écrits" ligne par ligne (<tr><td></td><td></td><td></td><td></td></tr>, je ne vois aucun moyen d'accéder aux "colonnes"... Peut-être qqn d'autre de nos lecteurs aura-t-il une idée? Je te le souhaite :)

Meilleures salutations de Francfort sur le Main,
Patrick


 

vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: David, 05. 10. 2004, 14:53
http://www.site-en-stock.net/

bonjour,

Je vous propose un debut de solution, c'est a ameliorer: ca fait disparaitre la colonne numero 1 d'un tableau de 3 lignes et 2 colonnes, voila le code complet:
<html>
<head>
<title>essai tableau</title>
<script>
function dispcol(nomcolonne)
{
var nbdeTD = document.getElementsByTagName("td").length;
for(var i=0;i<nbdeTD;i++)
 {
 var celluleid = document.getElementsByTagName("td")[i].getAttribute("id");
 if(celluleid==nomcolonne)
  {
  document.getElementsByTagName("td")[i].setAttribute("style","display:none;");
  }
 }
}
</script>
</head>

<body>
<table border="2">
<tr id="ligne1"><td id="col1">ligne 1 colonne 1</td><td id="col2">ligne 1 colonne 2</td></tr>
<tr id="ligne2"><td id="col1">ligne 2 colonne 1</td><td id="col2">ligne 2 colonne 2</td></tr>
<tr id="ligne3"><td id="col1">ligne 3 colonne 1</td><td id="col2">ligne 3 colonne 2</td></tr>
</table>
<a href="javascript:dispcol('col1');">Faire disparaitre colonne 1</a>
</body>
</html>

J'ai teste sous Mozilla, ca marche tres bien, ca devrait aussi marcher sous IE6 (qqqun peut tester et me confirmer?). Bon cet exemple ne fonctionnera pas avec un pop-up, va falloir le bricoler un peu pour ça. Mais c'est déjà un bon début.

@+
David
--
Get Firefox!
http://www.mozilla-europe.org/fr/products/firefox/
Avec ça vous allez voir ce qu'est un vrai navigateur web...


 

vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: Mat, 05. 10. 2004, 15:22


»» J'ai teste sous Mozilla, ca marche tres bien, ca devrait aussi marcher sous IE6 (qqqun peut tester et me confirmer?). Bon cet exemple ne fonctionnera pas avec un pop-up, va falloir le bricoler un peu pour ça. Mais c'est déjà un bon début.
»»
»» @+
»» David


merci beaucoup mais malheureusement, ca ne marche pas tel que sous IE6

je vais essayé de modifié tout ca


 
vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: Mat, 05. 10. 2004, 15:36

quand je fais

alert(document.getElementsByTagName("td")[i].getAttribute("style"));

j'obtiens [object]

à chaque fois... ne devrait on pas obtenir la valeur de l'attribut ???


 
vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: David, 05. 10. 2004, 15:46
http://www.site-en-stock.net/

»» alert(document.getElementsByTagName("td")[i].getAttribute("style"));


si, essai ca: alert(document.getElementsByTagName("td")[i].getAttribute(style));

j'ai juste enlever les guillements, mais ca doit etre ca.
--
Get Firefox!
http://www.mozilla-europe.org/fr/products/firefox/
Avec ça vous allez voir ce qu'est un vrai navigateur web...


 

vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: David, 05. 10. 2004, 16:09
http://www.site-en-stock.net/

»» si, essai ca: alert(document.getElementsByTagName("td")[i].getAttribute(style));
»»
»» j'ai juste enlever les guillements, mais ca doit etre ca.

mes propos plus haut etaient une connerie, il faut laisser les guillemets:
alert(document.getElementsByTagName("td")[i].getAttribute("style"));

et getAttribute doit bien retourne une valeur, pas [object]. Tu as bien "i" qui faut un chiffre dans ton cas? sinon c'est normal il ne sait pas quel "td" te retourner, car getElementsByTagName("td") est un tableau je pense.


--
Get Firefox!
http://www.mozilla-europe.org/fr/products/firefox/
Avec ça vous allez voir ce qu'est un vrai navigateur web...


 

vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: Mat, 05. 10. 2004, 16:34

voila ce que j'ai comme code... c'est pas révolutionnaire, j'ai juste rajouter le getZttribute apres le setAttribute

function dispcol(nomcolonne)
{
var nbdeTD = document.getElementsByTagName("td").length;

alert(nbdeTD);

for(var i=0;i<nbdeTD;i++)
 {
 var celluleid = document.getElementsByTagName("td")[i].getAttribute("id");
 if(celluleid==nomcolonne)
  {
  document.getElementsByTagName("td")[i].setAttribute("style","display:none");
alert(document.getElementsByTagName("td")[i].getAttribute("style"));
 }
 }

}


 
vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: David, 05. 10. 2004, 16:47
http://www.site-en-stock.net/

C'est ton navigateur qui rame, parce que moi avec Mozilla ca marche tres bien il me repond "style:display:none;" tu utilise quel version de IE?
--
Get Firefox!
http://www.mozilla-europe.org/fr/products/firefox/
Avec ça vous allez voir ce qu'est un vrai navigateur web...


 

vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: Mat, 05. 10. 2004, 16:54

»» C'est ton navigateur qui rame, parce que moi avec Mozilla ca marche tres bien il me repond "style:display:none;" tu utilise quel version de IE?


j'ai ie 6.0.2800.1106 et je ne peux pas en changer


merci quand meme !


 
vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: David, 05. 10. 2004, 17:48
http://www.site-en-stock.net/

»» »» C'est ton navigateur qui rame, parce que moi avec Mozilla ca marche tres bien il me repond "style:display:none;" tu utilise quel version de IE?
»» j'ai ie 6.0.2800.1106 et je ne peux pas en changer

Là je seche, je n'ai utilise dans mon code que des objets conforme au DOM1.0 et a javascript1.5 qui sont compris par IE5 et +.... peut-etre que quelqu'un d'autre pourra nous eclairer.
--
Get Firefox!
http://www.mozilla-europe.org/fr/products/firefox/
Avec ça vous allez voir ce qu'est un vrai navigateur web...


 

vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: Celelibi, Adresse électronique sysygogo86@msn.com, 06. 10. 2004, 19:47
http://www.espionet.com

lu tout le monde.

j'ai un réponse à la question, ou du moins l'élément qui semble manquer. :)

document.getElementById('tablo').rows[0].cells[0].firstChild.nodeValue

bon, le firstChild.nodeValue c'est juste pour récupérer la valeur, mais en récupérant juste la valeur de cells[0] on peut récupérer et reconstituer un tableau qui pourra ensuite être imprimé.

par exemple pour récupérer la 3eme colone d'un tableau avec comme id "tbl" on pourrais faire par exemple :

i = 0;
var newTbl = document.createElement('table');
while (document.getElementById('tbl').rows[i].cells[0]) {
  var cell = document.getElementById('tbl').rows[i++].cells[0].cloneNode(true);
  newTbl.insertRow("0");
  newTbl.lastChild.firstChild.appendChild(cell);
}

ceci n'est qu'un exemple. :)


@+
Celelibi


 

vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: Patrick Andrieu, 05. 10. 2004, 18:51
http://actuel.fr.selfhtml.org/equipe/patrick.htm

Bonjour David!


Très bien, mais pour des raisons de validation, ne vaudrait-il pas travailler avec name="..." plutôt que id="...", une id ne pouvant être attribuée qu'à un seul et unique élément de tout le document?

var cellulename = document.getElementsByTagName("td")[i].getAttribute("name");

Toujours le dilemme "page qui marche" contre "page qui valide" :)


Meilleures salutations de Francfort sur le Main,
Patrick


 

vers le hautvers le bas 

(JAVASCRIPT) impression dans une autre fenêtre et sélection

Le message suivant est de: David, 06. 10. 2004, 13:31
http://www.site-en-stock.net/

Salut Patrick!

Oui j'avais un doute vace l'id, alors voilà une version avec "name" elle fonctionne sous Mozilla 1.6:

<html>
<head>
<title>essai tableau</title>
<script>
function dispcol(nomcolonne)
{
var nbdeTD = document.getElementsByTagName("td").length;
for(var i=0;i<nbdeTD;i++)
 {
 var cellulename = document.getElementsByTagName("td")[i].getAttribute("name");
 if(cellulename==nomcolonne)
  {
  document.getElementsByTagName("td")[i].setAttribute("style","display:none;");
  }
 }
}
</script>
</head>

<body>
<table border="2">
<tr id="ligne1"><td name="col1">ligne 1 colonne 1</td><td name="col2">ligne 1 colonne 2</td></tr>
<tr id="ligne2"><td name="col1">ligne 2 colonne 1</td><td name="col2">ligne 2 colonne 2</td></tr>
<tr id="ligne3"><td name="col1">ligne 3 colonne 1</td><td name="col2">ligne 3 colonne 2</td></tr>
</table>
<a href="javascript:dispcol('col1');">Faire disparaitre colonne 1</a>
</body>
</html>

Mat essai ca, c'est peut-etre pour ca que ca buggais sous IE....

@+
David
--
Get Firefox!
http://www.mozilla-europe.org/fr/products/firefox/
Avec ça vous allez voir ce qu'est un vrai navigateur web...


 


vers le haut

© 1998-2004 Adresse électronique selfhtml@fr.selfhtml.org