Pb avec display: none sur balise <tr&gt

Résolu/Fermé
sese87 Messages postés 8 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 26 septembre 2013 - 12 oct. 2008 à 19:09
sese87 Messages postés 8 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 26 septembre 2013 - 15 oct. 2008 à 20:17
Bonjour,

J'ai une page (en PHP) qui affiche une table , ou sont listés quelques renseignements.
je voudrais, en cliquant sur un lien au niveau d'une balise <tr>, affichez des renseignements complémentaires

J'ai fais quelquechose, mais l'affichage se fait au fond de mo tableau, ce que je voudrais, c"est un affichage entre la ligne et la suivante.

Mon script:

<script type="text/javascript">

function Montrer(madiv) {

if (document.getElementById(madiv).style.display == "none") {
document.getElementById(madiv).style.display = "block";
} else {
document.getElementById(madiv).style.display = "none";
}
}

</script>


<table align = center><tr>
<td ><img src="monimage1" width="20" height= "20" onclick="Montrer('detail')"; alt="Plus de renseignements" style='cursor:hand;'... /> </td>
<?php

echo '<td align = "center" > '.date("d-m-Y", strtotime($liste['date'])).' </td>';
echo '<td ><img src="monimage2">    '.$liste['monchamp1'].'</td>';
echo '<td align = "center">('.$liste['monchamp2'].')</td>';
echo '<td ><img src="monimag3e">    '.$liste['monchamp3'].'</td>';
echo '<td align = "center" >('.$liste['monchamp4'].')</td>';

echo '</tr>';

?>

<?php
} ?>
<tr align = "center" id = "detail" style="display:none" >

<td >    TTest Affichage:   </td>
<td>
<select class = "voir" name="places">
<?php for($i = 1; $i <= 4; $i++) { echo '<option class = "option">'.$i.'</option>'; } ?>
</select>
</td>
</tr>

<?php
echo '</table>';
?>

C'est peut-être uniquement un problème de ma balise "<tr align = "center" id = "detail" style="display:none" >"

Dans l'attente

Cordialement
A voir également:

6 réponses

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
14 oct. 2008 à 20:20
Soit je comprend pas ce que tu cherche à obtenir soit tu as un autre problème quelque part.
Essaye ce simple fichier :
<table>
<tr>
	<td>Ligne1</td>
	<td><a href="javascript:affich()">afficher</a></td>
</tr>
<tr id="tr2" style="display:none">
	<td>Ligne 2</td>
	<td>Suite de la ligne</td>
</tr>
<tr>
	<td>Ligne 3</td>
	<td>Suite de la ligne</td>
</tr>
</table>
<script type="text/javascript">
	function affich(){
		document.getElementById('tr2').style.display='block';
	}
</script>
Chez moi il marche parfaitement sous IE, par contre sous FireFox et Safari, il faut utiliser display="table-row" à la place de display="block" pour que les cellules du tableau correspondent.
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
13 oct. 2008 à 11:45
Je pas comprendre tout bien très.
Ça marche bien ton histoire, si tu fait
<tr><td></td><td></td></tr>
<tr style="display:none"><td></td></tr>
<tr><td></td><td></td></tr>
alors la ligne s'affiche bien entre les deux autre, et le tableau est agrandi.

J'ai testé avec FireFox 3 uniquement.

Tu n'as pas un autre style CSS qui interfère ?
-1
sese87 Messages postés 8 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 26 septembre 2013
14 oct. 2008 à 19:44
Bonsoir,
Non pas de CSS supplémentaire,
Ca ne marche pas.
J'utilise IE7 chez moi et IE6 au boulot.

Cordialement
-1
sese87 Messages postés 8 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 26 septembre 2013
14 oct. 2008 à 19:44
Bonsoir,
Non pas de CSS supplémentaire,
Ca ne marche pas.
J'utilise IE7 chez moi et IE6 au boulot.

Cordialement
-1
sese87 Messages postés 8 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 26 septembre 2013
14 oct. 2008 à 21:46
Bonsoir,
oui, ça marche, mais pas comme je voudrais.

en fait quand le click sur "afficher" (en début de ligne <tr>), je voudrai que s'insére un autre <tr> entre le <tr> sélectionné et le suivant '<tr + 1), et ainsi de suite jusqu'à la fin du tableau
Es-que c'est clair
Cordialement
-1
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
14 oct. 2008 à 22:11
Ben je suis pas sur d'avoir vraiment compris non....
Tu veux qu'il y ait combien de ligne qui apparaissent ? Une seule qui va changer de place selon la ligne sur laquelle est le bouton cliqué ou une en dessous de chaque ligne avec un seul bouton ?
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
14 oct. 2008 à 23:05
J'imagine que les détails varient en fonction de la ligne cliquée, pourquoi tu ne veux qu'une seule ligne ?

Personnellement j'aurais construit ça comme ça :

un ligne
la ligne de détail cachée
une autre ligne
la ligne de détail correspondante cachée
etc....

et le script plutôt que de déplacer la ligne (ça doit être faisable mais franchement galère) et en changer le contenu (sinon je voit pas l'intérêt de déplacer la ligne) afficherait les détails en cachant les autres ( si tu n'en veux qu'une lignevisible à la fois).

ça se fait assez facilement avec une boucle en php qui génère en même temps les deux lignes et qui inscrit un id incrémental à la fois dans le code du bouton et dans le tr de la ligne cachée.

Ça marcherai ou j'ai toujours rien pigé ? ;-)
-1
sese87 Messages postés 8 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 26 septembre 2013
15 oct. 2008 à 20:17
Bonsoir,

Enfait, c'est pour un site de covoituage, ou on trouvera les voyages incrits, la date du déplacement, les lieux de départ et d'arrivée, et en étant incrit sur ce site , l'utilisateur pourra voir les coordonnée, adresse mail contact téléphonique de la personne qui l'a posté.
Et c'est en cliquant sur la date (ou un icône), que je voudrais cette affichage, et que les renseignements supplémentaires soit insérréss.

Si je ne trouve pas de solution immédiate, je vais dans un premier temps passer par un affichage du style "popup", mais, je trouve cela moins propre

Cordialement.

Sese87
-1
sese87 Messages postés 8 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 26 septembre 2013
14 oct. 2008 à 22:34
Une seule, mais qui s'insere entre la ligne sélectionnée et la suivante
Cordialement
-2