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 :

Comment revenir au focus ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut Comment revenir au focus ?
    bonjour, j'ai un champs input, comment faire pour que
    tant qu'on a pas remplit correctement le champs, il se remet au focus ?

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="email_go" onBlur ="chkMail()" type="texte" name="email" size="10" value="<?php echo $this->email ?>" placeholder="email">

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function chkMail()
    {
        var email = document.getElementById('email_go').value;
        if(email.length  < 3)//si on a tapez plus de 3 lettre on vérfie le champs saisie
        {
                alert('Merci de remplir correctement votre champs login');
               forcer à revenir au champs de saisie
        }
    }
    merci pour la réponse

  2. #2
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('email_go').focus();
    Attention, le type texte n'existe pas !
    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

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci de ta réponse

    j'ai donc essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function chkMail()
    {
        var email = document.getElementById('email_go').value;
        if(email.length  < 3)//si on a tapez plus de 3 lettre on vérfie le champs saisie
        {
                alert('Merci de remplir correctement votre champs login');
                email.focus();
        }    
    }
    j'ai posé peut être une mauvaise question, lorsque le message d'erreur,
    et que je valide, le curseur ne se met met à la suite du mot qu'on a taper ?

  4. #4
    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
    La méthode focus() s'applique à un élément HTML (comme dans mon exemple), pas à son value
    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

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    j'avais essayé les 2,
    le curseurs ne suit pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function chkMail()
    {
        var email = document.getElementById('email_go').value;
        if(email.length  < 3)//si on a tapez plus de 3 lettre on vérfie le champs saisie
        {
                alert('Merci de remplir correctement votre champs login');
                document.getElementById('email_go').focus();
        }
     
     
    }
    le but c'est d'empêcher que le visiteur aille saisir autre chose si l'email n'est pas bonne.

  6. #6
    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
    Arf... effectivement, il y a une astuce liée à l'enchainement des événements lors du blur.

    En fait, le code du onblur est exécuté avant la perte effective du focus. Du coup, il faut ajouter la remise du focus à la fin de la pile d'exécution avec un setTimeout() !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setTimeout(function(){document.getElementById('email_go').focus();}, 0);
    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

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

Discussions similaires

  1. [VB.NET] Comment revenir à la page précédente?
    Par le lynx dans le forum ASP.NET
    Réponses: 7
    Dernier message: 12/04/2005, 09h42
  2. Réponses: 2
    Dernier message: 03/03/2004, 10h44
  3. Comment basculer le focus depuis une autre form ?
    Par altahir007 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 03/09/2003, 15h54
  4. Réponses: 2
    Dernier message: 19/08/2003, 15h45
  5. Réponses: 2
    Dernier message: 09/07/2003, 14h10

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