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 :

Focus avec Firefox


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de katoyi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 101
    Points : 75
    Points
    75
    Par défaut Focus avec Firefox
    Bonjour à tous,
    Ca fait plus de trois heure que je cherche à faire un focus automatique sur un input. Le hic c'est que ca marche sous IE et Chrome mais pas sous firefox. J'ai googlé mais jamais trouver une solution concrète. Voici mon code JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function ValidateInputSearch(id,warn,form){
        var l =document.getElementById(id).value.length;
        if ((l < 4) && (l!=0)){
            document.getElementById('abs_go').disabled=true;
            document.getElementById(warn).style.visibility='visible';
            document.getElementById(id).focus();
            document.getElementById(id).select();
        }else{
            document.getElementById(warn).style.visibility='hidden';
            document.getElementById('abs_go').disabled=false;
        }
    }
    En gros j'aimerais controler la saisie sur un input. Si le nombre de caractères saisie n'est supérieure ou égale à 4 alors le controle reste selectioner.
    Et dans mon html, j'appelle la fonction dans Onblur de mon input.
    Merci d'avance.

  2. #2
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Salut,

    A mon avis cette instruction est inutile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById(id).focus();
    le select est suffisant

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    il faudrait voir le HTML concerné pour te répondre.
    Par exemple, si 'abs_go' est un name et que l'élément ne possède pas d'id, ce que tu décris est normal (disons "logique" ...). Dans ce cas, il suffit d'ajouter l'id (identique au name) à cet élément.

    Par contre, je te déconseille très fortement d'utiliser les termes du langage (ici id et form) comme identifiants (de fonctions, de variables, d'éléments ...). Cela peut aussi générer ce genre de dysfonctionnement.

    A+

  4. #4
    Membre régulier Avatar de katoyi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 101
    Points : 75
    Points
    75
    Par défaut
    J'ai essayé les solutions que vous m'avez proposé mais sans succès. Finalement j'ai pu trouver ceci:
    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
     
    function ValidateInputSearch(id,warn){
        var l =document.getElementById(id).value.length;
        if ((l < 4) && (l!=0)){
            document.getElementById('abs_go').disabled=true;
            document.getElementById(warn).style.visibility='visible';
            window.setTimeout(function ()
            {
                document.getElementById(id).focus();
            }, 0);
        }else{
            document.getElementById(warn).style.visibility='hidden';
            document.getElementById('abs_go').disabled=false;
        }
    }
    Et ca l'air de marcher.
    Merci à vous tous.

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

Discussions similaires

  1. Ecouter la radio avec Firefox
    Par Cian dans le forum Applications et environnements graphiques
    Réponses: 20
    Dernier message: 14/07/2005, 19h19
  2. window.resizeTo ne fonctionne pas avec firefox?
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/06/2005, 15h07
  3. Problème Site Web avec Firefox
    Par bodybug dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/01/2005, 23h48
  4. balise <img> dans un tableau avec firefox
    Par yannock dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 25/10/2004, 16h44
  5. [C#] Changer le focus avec la touche return
    Par sblanc74 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 01/10/2003, 18h38

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