afficher/cacher une ligne de tableau

Mammouth du PHP | 1311 Messages

24 avr. 2006, 21:03

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

Eléphant du PHP | 377 Messages

24 avr. 2006, 23:32

le style pour que la ligne s'affiche est "block" pour IE et "table-row" pour les autres ;)
Petit scarabée deviendra grand

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 avr. 2006, 00:34

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

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 312 Messages

25 avr. 2006, 09:19

Autre solution : utiliser visibility:collapse/visible
Cela dit s'il y a un cellspacing sur la table, les bordures ne disparaissent pas.

Eléphant du PHP | 377 Messages

25 avr. 2006, 11:32

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;"
Petit scarabée deviendra grand

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 avr. 2006, 12:20

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

Eléphant du PHP | 377 Messages

25 avr. 2006, 13:04

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:
Petit scarabée deviendra grand

Eléphant du PHP | 312 Messages

25 avr. 2006, 14:05

On peut mettre n'importe quoi, ça fonctionne.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 avr. 2006, 14:28

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

Eléphant du PHP | 312 Messages

25 avr. 2006, 15:48

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

Mammouth du PHP | 1311 Messages

25 avr. 2006, 19:37

salut
la solution de TRUC et hermes fonctionne
merci