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 :

redonner le focus sur une ligne de tableau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 21
    Par défaut redonner le focus sur une ligne de tableau
    Bonjour,

    Voila j'ai un soucis de focus dans une page web.

    Cette page contient un tableau et un objet de visualisation pdf (jquery media plugin) .

    Sur le clic d'une ligne du tableau j'affiche le pdf correspondant. Tout se passe bien sauf qu'a ce moment la le focus est sur le pdf (si j'appuie sur la fleche du bas c'est le pdf qui déroule).

    Mais je voudrais que le focus reste sur le tableau pour que l'on puisse parcourir les lignes et afficher à chaque fois le pdf correspondant.

    J'ai essayé avec la fonction .focus mais sans résultat.

    Voici mon code javascript. La fonction mark se déclenche sur le clic d'une ligne, et la fonction select sur le keydown d'une ligne.

    D'avance Merci


    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    function MarkRow(rowId) {
     
     
     
            if (document.getElementById(rowId) == null) {
                 return;
            }
             if (document.getElementById(currentRowId) != null) {
     
                //change la couleur de fond 
                 document.getElementById(currentRowId).style.backgroundColor = '#ffffff';
     
                 var chemin = document.getElementById("ContentPlaceHolderCorps_grv_piece_sChemin_" + currentRowId).value;
     
                 //vider la div 
                 $('.objpdf').empty();
     
                 //Ajout d'un nouveau lien <a id="objpdf" class="media" href="">PDF File</a> 
                 //avec le nouveau fichier pdf 
                 $('.objpdf').append("<a class='media' href='file://" + chemin + "'>PDF File</a>");
     
                 //relance l'affichage
                 $('a.media').media({ width: 500, height: 400 });
     
     
                 //donne le focus a la grille pour continuer de naviguer
                 $(".grv_piece").focus;
                 //essai de focus sur la ligne selectionnée
                 document.getElementById("ContentPlaceHolderCorps_grv_piece_sChemin_" + currentRowId).focus;
     
            }
     
            currentRowId = rowId;
            document.getElementById(rowId).style.backgroundColor = '#ff0000';
        }
     
        function SelectRow() {
     
            //Si clic sur espace
            if (event.keyCode == 32) {
     
                var cb = document.getElementById('ContentPlaceHolderCorps_grv_piece_CheckBox1_' + currentRowId);
     
                if (cb.checked == true){
                    cb.checked = false;
                }
                else
                {
                    cb.checked = true;
                }
            }
            else {
                if (event.keyCode == 40)
                    MarkRow(currentRowId + 1);
                else if (event.keyCode == 38)
                    MarkRow(currentRowId - 1);
            }
        }

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 123
    Par défaut focus sur la ligne
    Bonsoir,
    ça me paraît incohérent comme code. Ton currentRowId est la ligne en cours.
    rowId est la nouvelle ligne sélectionnée.
    donc, tu affiches la ligne en cours quand tu cliques sur la nouvelle ligne ?
    Y aurait un petit problème, teste bien et regarde bien le fonctionnement de ta grille.
    En tout cas pour le focus, moi je dirais que c'est sur le rowId qu'il faut le faire car quand tu cliques sur rowId, c'est rowId qui a le focus.

    de plus, l’évènement onkeypress se produit quelque soit le focus, du moment que cet évènement se déclenche dans la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('body')[0].onkeypress = function() {};

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 21
    Par défaut
    Bonjour et merci pour ta réponse.

    Mon script est satisfaisant en ce qui concerne l'affichage du tableau (ligne selectionnée).

    Je n'ai pas de soucis de ce coté la. Mon problème est surtout lié au focus.

    Pour mieux comprendre je vous joins un exemple simplifié, le précédent étant réalisé sous visual studio.

    Je tourne en rond sur ce problème alors merci d'avance.

    Edit : A tester sous ie car firefox ne prend pas en compte l'evenement onkeydown sur une ligne de tableau
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [WD17] Reprise de focus sur une ligne d'un tableau
    Par Concept-Informatique dans le forum WinDev
    Réponses: 3
    Dernier message: 31/05/2012, 17h56
  2. Mettre le focus sur une ligne d'un tableau
    Par HelloWorldAjaxYou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/02/2011, 17h14
  3. Lien sur une ligne de tableau
    Par DJPi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 25/07/2006, 23h09
  4. [HTML] lien hypertext sur une ligne de tableau
    Par BigBarbare dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/05/2006, 14h43
  5. Lien sur une ligne de tableau
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2005, 11h36

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