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

HTML Discussion :

Lien sur un tr


Sujet :

HTML

  1. #1
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Par défaut Lien sur un tr
    Bonjour,

    Je viens chercher votre aide pour un problème surement courant: comment placer un lien sur l'intégralité d'un tr dans un tableau?

    D'après mes recherches, le seul moyen est de passer par javascript (onclick) et css (hover -> cursor:pointer), le problème est que cette solution ne permet pas d'ouvrir la page ciblée dans un nouvel onglet, nouvelle page,...

    Existe-t-il un moyen de faire en sorte d'avoir un vrai lien sur toute une ligne?

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Par défaut
    Sans JS ca semble vraiment pas possible ..

    Tu peux rajouter la clause blank pour ouvrir dans un nouvel onglet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="window.open('URL','blank')"
    Tu dois trouver la même opération pour nouvelle page, etc

    Le windows open semble pas très apprécier, mais en JS tu feras tout ce que tu souhaites je pense.

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonjour,
    Je viens chercher votre aide pour un problème surement courant: comment placer un lien sur l'intégralité d'un tr dans un tableau?
    l'élément TR ne peut contenir comme enfant direct que des TH ou des TD, tout cela pour dire que c'est la conception qui est à revoir.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Par défaut
    Merci pour vos réponses.

    l'élément TR ne peut contenir comme enfant direct que des TH ou des TD, tout cela pour dire que c'est la conception qui est à revoir.
    Je comprends le fonds de la réponse mais le fait est que la sémantique de ce qui est à afficher c'est bien un tableau de données (liste de dossiers avec numéros, statistiques associées,...) et que le besoin fonctionnel formulé par le client est de pouvoir cliquer sur la ligne pour afficher le contenu du dossier ainsi que de pouvoir (sur firefox) faire un clic droit -> ouvrir dans un nouvel onglet.

    Donc la réponse est qu'il n'est pas possible de satisfaire le besoin en respectant la sémantique.

    La seule solution que je vois est donc construire un tableau avec d'autre éléments que TABLE, TR et TD (DIV, SPAN et A avec display block).

    Si d'autres personnes ont déjà effectués ce type de chose ou ont un conseil ou une idée je suis preneur.

    Merci d'avance!

  5. #5
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    J'ai peut-être mal compris le besoin, mais ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <table border="1">
    	<tr style="cursor:pointer" onclick="alert('OK');">
    		<td>
    ..........

  6. #6
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Par défaut
    Bonjour,

    Cette méthode permet en effet de rendre le tableau interactif mais ne réponds pas à ce besoin :
    le besoin fonctionnel formulé par le client est de pouvoir cliquer sur la ligne pour afficher le contenu du dossier ainsi que de pouvoir (sur firefox) faire un clic droit -> ouvrir dans un nouvel onglet.

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    A la rigueur, une solution pourrait être de mettre un lien dans chaque balise <td> en lui faisant prendre tout l'espace disponible dans la cellule, ce qui revient au même qu'un lien englobant la balise <tr>.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Par défaut
    Je viens de remarquer que ce que je souhaites faire ressemble beaucoup à ce qui est fait sur gmail (tableau contenant tous les mails) et que la non plus il n'est pas possible de faire le clic droit ouvrir dans un nouvel onglet.

    Edit: Désolé je n'avais pas vu la dernière réponse.

    A la rigueur, une solution pourrait être de mettre un lien dans chaque balise <td> en lui faisant prendre tout l'espace disponible dans la cellule, ce qui revient au même qu'un lien englobant la balise <tr>.
    Très bonne idée, c'est la solution qui me semble le plus adapté. Merci de votre aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien sur une ligne de tableau
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2005, 11h36
  2. Réponses: 2
    Dernier message: 22/10/2004, 06h50
  3. 2 types de lien sur une seule page
    Par MiJack dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/10/2004, 09h02
  4. lien sur une même page asp
    Par Redouane dans le forum ASP
    Réponses: 4
    Dernier message: 10/03/2004, 15h53

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