![]() |
Forum SELFHTML: Archives: |
|
|
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
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

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

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

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

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"));
}
}
}
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...

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

Le message suivant est de: Celelibi,
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
![]()
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

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

© 1998-2004
selfhtml@fr.selfhtml.org