Page 1 sur 1

afficher/cacher une ligne de tableau

Posté : 24 avr. 2006, 21:03
par jeff
salut

j'ai un petit probleme assez enerveant, j'ai une mise en forme de tableau et je voudrai pourvoir afficher et cacher via une fonction javascript.
voici le code:

Code : Tout sélectionner

<td colspan="4"> <a herf="#" onclick="display('code10');"><img src="image.jpg" />code :</a> </td> </tr> <tr class="separator" id="code10"> <td colspan="4" class="code"><code><span style="color: #000000"> <span style="color: #0000BB"><?php </span><span style="color: #007700">function </span><span style="color: #0000BB">_getExtention</span><span style="color: #007700">( </span><span style="color: #0000BB">$filename </span><span style="color: #007700">){<br /> if(</span><span style="color: #0000BB">is_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">)){<br /> </span><span style="color: #0000BB">$tableau </span><span style="color: #007700">= </span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">'.'</span><span style="color: #007700">,</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /> return (string) </span><span style="color: #0000BB">array_pop</span><span style="color: #007700">(</span><span style="color: #0000BB">$tableau</span><span style="color: #007700">);<br /> }<br /> else {<br /> return (bool)</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br /> }<br /> }<br /></span> </span> </code></td>
bon c'est un peu le bordel :?
le truc c'est de pouvoir cacher ou afficher la balise tr
le code javacsript fonctionne bien mais lors de l'affichage tous ce decale :?

merci

peut etre que ceci sera plus clair
<tr>
						<td colspan="4">
						<a herf="#">
							<xsl:attribute name="onclick">
								<xsl:text>display('code</xsl:text><xsl:value-of select="position()" /><xsl:text>');</xsl:text>
							</xsl:attribute>
						<img src='image.jpg'/>code :</a>
						</td>
					</tr>
					<tr class='separator'>
					<xsl:attribute name="id">
							<xsl:value-of select="concat('code',position())"/>
						</xsl:attribute>
						<td colspan="4" class="code">
							<xsl:value-of select='code' disable-output-escaping ="yes"/>
						</td>
					</tr>
j'utilise'none' pour cacher et pour afficher 'inline', la moitier des autre proprité pour les tableaux ne sont pas dispo

Posté : 24 avr. 2006, 23:32
par Shrell
le style pour que la ligne s'affiche est "block" pour IE et "table-row" pour les autres ;)

Posté : 25 avr. 2006, 00:34
par Truc
le style pour que la ligne s'affiche est "block" pour IE et "table-row" pour les autres ;)
Donc pour mettre tout le monde daccord il ne faut pas préciser de style donc passer de "none" à "" (rien).

Posté : 25 avr. 2006, 09:19
par Hermès
Autre solution : utiliser visibility:collapse/visible
Cela dit s'il y a un cellspacing sur la table, les bordures ne disparaissent pas.

Posté : 25 avr. 2006, 11:32
par Shrell
Donc pour mettre tout le monde daccord il ne faut pas préciser de style donc passer de "none" à "" (rien).
Si si, justement, pour cacher, style="display: none;" et pour réafficher, selon le navigateur, style="display: table-row;" ou style="display: block;"

Posté : 25 avr. 2006, 12:20
par Ryle
Donc pour mettre tout le monde daccord il ne faut pas préciser de style donc passer de "none" à "" (rien).
Si si, justement, pour cacher, style="display: none;" et pour réafficher, selon le navigateur, style="display: table-row;" ou style="display: block;"
Ben non, justement l'intéret pour réafficher, c'est que style="display: ;" fonctionne quel que soit le navigateur :) (après c'est peut être pas homologué w3c, mais au moins, ca marche partout, alors le consortium... ;))

Posté : 25 avr. 2006, 13:04
par Shrell
dsl j'avais pas compris la remarque de Truc (je me lève il faut dire... lol)
Je croyais qu'il disait que pour CACHER il fallait mettre style="display: ;"...
je vais prendre mon Guronzan et je reviens :lol:

Posté : 25 avr. 2006, 14:05
par Hermès
On peut mettre n'importe quoi, ça fonctionne.

Posté : 25 avr. 2006, 14:28
par Ryle
On peut mettre n'importe quoi, ça fonctionne.
Dans une classe vi, mais si on veut modifier le style en javascript je crois que cela cause une erreur si l'on ne met pas vide ('') ou l'une des valeurs attendues ('none', 'block', etc.) :)

Posté : 25 avr. 2006, 15:48
par Hermès
non, non, en javascript je le met à "normal", ça pose pas de problème (sous FF du moins, faut que je vérifie sous IE).

Posté : 25 avr. 2006, 19:37
par jeff
salut
la solution de TRUC et hermes fonctionne
merci