IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

OnClick -- Styles


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut OnClick -- Styles
    Bonjour,

    J'ai un petit code qui est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <font style='font-weight:bold;' onClick="this.style.fontWeight='normal'">Message de test</font>
    Lorsque l'on clique sur ce <font>, on a donc un texte en gras qui devient normal (comprendre sans aucun style particulier).

    Maintenant, je voudrais que ce principe puisse s'appliquer sur tout un <tr> (toute une ligne dans un tableau). Par exemple, j'ai ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ...
    <tr onclick=\"parent.window.messages.location='message.php?id=$id';\">
    <td width='20' class='lignes'><img src='mess10.gif'></td>
    <td width='93' class='lignes'><b>$login</b></td>
    <td width='173' class='lignes'><b>$sujet</b></td>
    <td class='lignes'><b>$date</b></td>
    </tr>
    ...
    Je voudrais que toute cette ligne soit en gras, et que lorsque l'on clique quelque part sur cette ligne (c'est le principe du onclick dans la balise <tr>), toute la ligne efface le style gras pour un style normal.

    Merci de votre aide.

  2. #2
    Membre éprouvé Avatar de lalouve
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 128
    Par défaut
    Hello

    essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     
    <html>
    <head>
    	<title>Titre</title>
    	<script type="text/javascript">
    	function monClick(tr){
    		parent.window.messages.location='message.php?id=$id';
     
    		var tds = tr.getElementsByTagName("td");
    		alert(tds.length);
    		for(var i = tds.length-1; i>0; i--)
    			{ tds[i].innerHTML = tds[i].innerHTML.substring(3, tds[i].innerHTML.length-4); }
    	}
     
    	</script>
    </head>
     
    <body>
    <table border="1">
    	<tbody>
    		<tr onclick="monClick(this)">
    		<td width='20' class='lignes'><img src='mess10.gif'></td>
    		<td width='93' class='lignes'><b>$login</b></td>
    		<td width='173' class='lignes'><b>$sujet</b></td>
    		<td class='lignes'><b>$date</b></td>
    		</tr>
    	</tbody>
    </table>
     
     
    </body>
    </html>
    En remettant les antislashs aux bons endrois dans ton code

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    Le souci, c'est que la fonction doit aussi avoir pour attribu le numero du lien ($id), pour déterminer où aller ensuite (parent.window.messages.location='message.php?id=$id'.

  4. #4
    Membre éprouvé Avatar de lalouve
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 128
    Par défaut
    ah oui exact.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function monClick(tr, redirect){
    		parent.window.messages.location='message.php?id='+redirect;
     
    		var tds = tr.getElementsByTagName("td");
    		alert(tds.length);
    		for(var i = tds.length-1; i>0; i--)
    			{ tds[i].innerHTML = tds[i].innerHTML.substring(3, tds[i].innerHTML.length-4); }
    	}
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <tr onclick=\"monClick(this,".$id.")\">

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    Pourrais tu m'expliquer comment fonctionne ta fonction ?

    Je ne comrpend pas trop en quoi elle pourrait faire devenir normal un texte en gras...

  6. #6
    Membre éprouvé Avatar de lalouve
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 128
    Par défaut
    Elle récupère les td du tr sur lequel on a cliqué et elle enlève le <b> au début et le </b> à la fin de ce qui est à l'intérieur de chaque td (sauf pour le 1er td qui ne contient q'une image).

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    Merci, ca fonctionne !

    Juste une petite chose encore : comment faire pour que cette même fonction fasse disparaitre l'image de la première colonne ?

    Merci.

Discussions similaires

  1. Etude des "styles" de programmation
    Par RiRi51 dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/03/2003, 19h50
  2. feuille de style generale
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/03/2003, 10h06
  3. Rattacher une feuille de style a un XML existant
    Par aour dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 08/10/2002, 22h07
  4. Modification de l'évènement OnClick
    Par MrJéjé dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/08/2002, 12h52
  5. Un Sender peut-il s'auto-détruire lors d'un onClick?
    Par Flo. dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/07/2002, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo