Les Allergies
Alimentaires
Posez votre question Signaler

PHP/SQL Tableau javascript [Résolu]

bibin 10Messages postés 10 février 2008Date d'inscription - Dernière réponse le 28 févr. 2008 à 17:50
Bonjour,
Voici un petit problème que je n'arrive pas a résoudre.
Je voudrais dans un tableau de 2 colonnes afficher l'information de la 2eme colonne et de la 1ere colonne de la ligne suivante lorsque je clic sur un lien de la 1ere colonne (mué).
Avec le code vous comprendriez mieux :
<table>
	<tr>
		<td><a href="javascript:;" onclick="javascript:show('objet');">Attribut n°3 : </a></td>
		<td id="objet" style="display:none;">Coucou</td>
	</tr>
					
	<tr>
		<td>truc</td>
                <td>bidule</td>
	</tr>
</table>

Si j'ecris ceci et quand je clic sur "Attribut n°3", il n'y a que "Coucou" qui apparait.
Comment pourrais je faire pour que "truc" passe transparent lui aussi et s'affiche des que je clic sur "Attribut n°3" ?
(faire en sorte qu'il apparaisse en meme temps que "Coucou")
J ai tenté avec la balise div :
<div id="objet" style="display:none;"><td>Coucou</td> .........  truc</td></div>

Mais cela ne donne rien, c'est meme pire !
Qqn pourrait-il m'éclairer ?
Merci :)
Lire la suite 

PHP/SQL Tableau javascript »

4 réponses
Réponse
+0
moins plus
Bonjour,

Pour afficher un élément, il te faut changer le style, passager de display:none à display:block.
Ce que tu peux faire, c'est nommé les éléments avec le même id.

Exemple :
<td id="1">Coucou</td><td id="1">Coucou 2</td>

Sur un événement javascript comme onClick, tu appel une fonction :
<td id="1" onClick="javascript:change_attrib(1);">Coucou</td><td id="1">Coucou 2</td>

La fonction change_attrib(nb) :
function change_attrib(nb)
{
var doc;
doc = document.getElementById(nb).setAttribute("style", "display:none");
}

Et la tes éléments devraient normalement s'afficher.
Reivax962- 28 févr. 2008 à 17:37
Non !
On ne met pas deux fois le même id dans un document !
Un id, c'est unique.
Par contre, tu peux utiliser « name="objet" » et getElementsByName('objet'), qui renvoie un tableau.
Ou alors, mettre des id du genre objet1, objet2, ...
Ainsi, tu fais une boucle du genre
var i = 1;
var objet = document.getElementById('objet' + i);
while (objet)
{
    i++;
    objet.style.display="block";
    objet = document.getElementById('objet' + i);
}
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
J'ai légèrement modifié ta fonction javascript :
La fonction change_attrib(nb) :
function change_attrib(nb)
{
    var doc;
    doc = document.getElementById(nb).setAttribute("style", "display:bloc");
} 


Pour quand un clic mon "texte" apparaisse
Puisqu'a la base il est caché

Mais malheureusment je bloque tjs :(

<table>
	<tr>
		<td><a href="javascript:;" onclick="javascript:change_attrib('3');">Attribut n°3 : </a></td>
		<td id="3" style="display:none;"><input type="text" name="Attribut1" size="15" maxlength="30"></td>
	</tr>
	
	<tr>
		<td id="3" style="display:none;">truc</td>
		<td> ... </td>
	</tr>
					
</table>


Je n'ai que
<input type="text" name="Attribut1" size="15" maxlength="30">
qui s'affiche au clic.
Bizarrement "truc" n'apparait pas et reste en display:none;
:(
Ajouter un commentaire
Réponse
+0
moins plus
Merci Reivax962,
Cela fonctionne :)
En réécrivant ta fonction javascript et en modifiant mes id (objet1,objet2),
j ai réussis a obtenir ce que je souhaitais

DSL pour le double post mais Reivax a été plus rapide que moi en repondant au premier message

Merci encore et bonne continuation :)
Ajouter un commentaire
Ce document intitulé « PHP/SQL Tableau javascript » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?