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 :

JS et tabindex


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Par défaut JS et tabindex
    Bonjour à tous,

    Est il possible avec JavaScript de connaître la valeur contenu dans l'attribut tabindex d'un champs??

    et inversement de sélectionner un champs grâce à la valeur de tabindex??

    Merci à tous pour vos réponses

  2. #2
    LEK
    LEK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Par défaut
    Je ne sais pas ce que tu veux en faire mais c'est généralement une mauvaise idée que de vouloir modifier le fonctionnement intrinsèque des règles de navigation...
    Quoiqu'il en soit tu peux depuis javascript récupérer l'attribut du tabindex :

    voici un script que j'avais récupéré il y a quelque temps (compatible IE6, Mozilla 1.7 & Opera 8):

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    <form action="foo">
    <input type="text" tabindex="1">
    <input type="text" tabindex="2">
    <input type="text" tabindex="3">
    <input type="text" tabindex="4">
    <input type="submit">
    </form>
     
    <script type="text/javascript">
    function enter(form){
    var fields=form.elements, a=[];
     
    // add ENTER listeners
    for(var ii=fields.length; ii-- {
    if(fields[ii].type=="text") {
    _e(fields[ii], "onkeypress", enterListener);
    a[a.length]=fields[ii];
    }
    }
     
    // init the tabIndex behavior
    a.sort(
    function(a,b){
    return a.tabIndex > b.tabIndex ? 1 : -1;
    }
    );
     
    for(var j=0; j<a.length; j++){
    a[j].next = a[j+1]||a[0];
    }
     
    // add the submission manager
    _e(
    form,
    "onsubmit",
    function(evt){
    if(form.hasEntered) {
    form.hasEntered=false;
    return false;
    }
    return true;
    }
    );
     
    // ENTER listener
    function enterListener(evt){
    evt=evt||window.event;
    var el=this;
    if((evt.keyCode||evt.which)==13) {
    form.hasEntered=true;
    setTimeout(
    function(){ el.next.focus(); },
    1
    );
    }
    }
    }
     
    // event manager
    function _e(obj, evt, func){
    if(obj[evt]) {
    obj[evt]=(function(h){
    return function(evt){
    return func.call(this, evt) && h.call(this, evt);
    }
    })(obj[evt]);
    } else {
    obj[evt]=func;
    }
    }
     
    // --- test --- :-)
    enter(document.forms[0]);
    </script>


  3. #3
    Membre éclairé
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Par défaut
    Merci beaucoup pour ta réponse; mais j'avoue que je ne suis pas spécialiste JS et que j'ai un peu de mal a comprendre le script que tu m'as donné après.

    Enfin j'aurai encore une petite question : est ce que je peux placer le focus sur un champs grâce à l'attribut tabindex? par exemple quelquechose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['createApplicant'].elements[field.tabIndex].focus();
    Ce que j'essaie de faire est relativement simple : l'écran sera coupe en 2 avec d'un cote un document de type PDF ou word et de l'autre un formulaire. quand l'utilisateur surlignera un mot ou un groupe de mot, celui ci sera automatiquement copier dans le champs qui avait ete prealablement sélectionner (jusqu'ici, c fait et ca fonctionne). ensuite une fois le mot ou le groupe de mot copier dans le champs, le focus se placera sur le champs suivant (c'est la qu'intervient l'attribut tabIndex).

Discussions similaires

  1. [AS2] A propos de tabIndex et setFocus
    Par aldo-tlse dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 01/05/2006, 14h01
  2. tabindex = champ suivant
    Par ganizate dans le forum Access
    Réponses: 3
    Dernier message: 23/03/2006, 13h42
  3. tabIndex géré dynamiquement
    Par Johnbob dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 02/02/2006, 13h33
  4. [struts] tabindex dans un tag <html:radio>
    Par Milouse dans le forum Struts 1
    Réponses: 2
    Dernier message: 28/11/2005, 17h44
  5. [VB.NET] tabIndex ?
    Par UNi[FR] dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/11/2004, 12h52

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