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 :

[POO] focus et/ou select


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 80

    Informations forums :
    Inscription : Janvier 2007
    Messages : 201
    Par défaut [POO] focus et/ou select
    Bonjour à toutes et à tous.
    le code suivant ne fonctionne pas, en cas d'erreur, pas de focus sur le champ impliqué, fonction ctrldate(objet du formulaire). Idem Firefox 2.0 et IE 6.0. Merci pour votre aide.

    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
    <script type="text/javascript">
    function ctrldate(datac) {
    sep=datac.value.substr(5,6);
    if (sep != "/") {alert("La date n'est pas correcte AAAA/MM/JJ");
    this.focus();
    this.select();
    return false;}
    else {return true;}
    }
    </script>
    Gestion des : groupes<br><br>
    <form name="formu" action="ezsgfs.php">
    <input type="hidden" name="wwfic" value="groupes">
    <input type="hidden" name="wwfonc" value="C">
    <table width="75%" border="0" cellspacing="15" cellpadding="0">
    <tr><td width="25%" align="right">Identifiant du groupe</td>
    <td width="75%"> <input type="text" name="idgr" maxlength="16" size="16"></td>
    </tr><tr><td width="25%" align="right">Date debut</td>
    <td width="75%"> <input type="text" name="ddgr" maxlength="10" size="10" onchange="ctrldate(this)"></td>
    </tr><tr><td width="25%" align="right">Date fin</td>
     
    <td width="75%"> <input type="text" name="dfgr" maxlength="10" size="10" onchange="ctrldate(this)"></td>
    </tr><tr><td width="25%" align="right">Description</td>
    <td width="75%"> <input type="text" name="lbgr" maxlength="64" size="64"></td>
    </tr><tr><td width="25%" align="right"> &nbsp </td>
    <td width="75%"> <input type="submit" name="btv" id="btv"  value="Validation"/> </td>
    </tr></td></tr></table></form>

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 89
    Par défaut
    Salut,

    Remplaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    this.focus();
    this.select();
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    datac.focus();
    datac.select();
    et ca devrait marcher
    (dans ta fonction, this n'est pas un champ !)

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 80

    Informations forums :
    Inscription : Janvier 2007
    Messages : 201
    Par défaut
    Merci JulienC, Quand le matinal aide le noctambule !
    En effet, mon code avec this.focus() ne pouvait pas fonctionner MAIS, après avoir modifié mon script, c'est le champ sur lequel j'ai cliqué après la modification, ou bien le champ tabulé qui a le focus et NON PAS le champ en erreur.
    Encore plus fort, si j'écris :
    document.formu.ddgr.focus();
    document.formu.ddgr.select();
    ou bien
    document.forms["formu"].elements["ddgr"].focus();
    document.forms["formu"].elements["ddgr"].select();
    même resultat insatisfaisant ????????????????,

    D'autre part, si j'ajoute un bouton "bidon" au formulaire
    <input type="button" name="bidon">
    qui ne fait rien, alors, après la saisie d'une valeur incorrecte dans ddgr et que je clique sur le bouton bidon, ALORS le focus vient bien sur le champ ddgr, MAIS si après cette saisie je clique sur un autre CHAMP, ALORS le focus reste sur cet autre champ ???
    Donc comportement different de .focus() selon le dernier objet cliqué du formulaire ????????????????????????

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 80

    Informations forums :
    Inscription : Janvier 2007
    Messages : 201
    Par défaut n'interesse personne, snif
    Je remonte cette discussion, une seule fois, promis ! Donc pas moyen de laisser le focus sur un champ en erreur avec JS ?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 89
    Par défaut
    Le test ne s'effectue pas sur le onchange (ce qui pourrait paraitre plus logique, on est d'accord), mais sur le onblur ! change donc les "onchange" par des "onblur" et laisses le reste comme ça. Ca devrait marcher...

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 80

    Informations forums :
    Inscription : Janvier 2007
    Messages : 201
    Par défaut
    Merci JulienC, mais non, même combat, onChange, onBlur, le curseur ne revient pas sur le champ en erreur. Snif !

Discussions similaires

  1. tester le focus sur un select
    Par kosram dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/04/2012, 09h21
  2. [POO] Syntaxe getElementById et select
    Par JeanDan dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/11/2008, 12h38
  3. Focus sur la selection d'une jTable
    Par delma dans le forum Composants
    Réponses: 2
    Dernier message: 25/11/2006, 12h47
  4. Enlever le focus d'un select
    Par Orionmel dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/12/2005, 09h29
  5. [Select()/Focus()] Pb dans l'utilisation de ces méthodes
    Par Kylen dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/06/2005, 14h54

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