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 :

Saisie rapide - Enchainement des inputs automatique


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    442
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 442
    Par d�faut Saisie rapide - Enchainement des inputs automatique
    Bonjour � tous.

    Voil�, dans un formulaire contenant un certain nombre d'input de type texte, je souhaite que lorsque l'utilisateur a saisi le bon nombre de caract�res (correspondant � "maxlength"), le focus soit donn� � l'input suivant. Ainsi, l'utilisateur tape en continue sur son clavier pour remplir tous les champs sans utiliser TAB ou la souris.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <input type="text" name="champ1" id="champ1" maxlength="6" onKeyUp="checkFilling(this);"/>
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    function checkFilling(field) {
    	if (field.value.length==field.maxLength) {
    		field.form.elements[field.QueMettreIci+1].focus();
    	}
    }
    Quelle propri�t� de field (qui est un objet input) me renvoie son index dans le tableau des �l�ments du formulaire ? Il existe "sourceIndex" mais �a me donne l'index du input dans le tableau de tous les �l�ments HTML de la page...

    D'autre part, il y a peut-�tre plus simple en �crivant un truc du style "field.form.next();" ?


  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 660
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 660
    Billets dans le blog
    1
    Par d�faut
    premi�re remarque:

    if (field.value.length==nb) {
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    442
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 442
    Par d�faut
    H�h�, je l'avais �dit� avant que tu postes
    Merci quand m�me.

  4. #4
    Membre �clair�
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    442
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 442
    Par d�faut
    Solution ici: http://www.w3schools.com/js/tryit.as...tryjs_autonext

    Cette solution ne me convient pas car il est n�cessaire d'affecter une valeur � tabindex pour tous les champs... Donc, la question du premier post tient toujours...

  5. #5
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <script type="text/javascript">
    function checkFilling(field, next) {
    	if (next) {
    		if (field.value.length==field.maxLength) {
    			field.form.elements[next].focus();
       		}
    	}
    }
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    </head>
    <body>
    <form name="formulaire" action="">
    <input type="text" name="champ1" id="champ1" maxlength="6" onKeyUp="checkFilling(this, 'champ2');"/>
    <input type="text" name="champ2" id="champ2" maxlength="6" onKeyUp="checkFilling(this);"/>
    </form>
    </body>
    </html>

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 660
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 660
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    function checkFilling(field) {
       if (field.value.length==field.maxLength) {
      var nextfield=this.id.split('p')
      nextfield=Number(nextField[1])+1
      nextfield="champ"+nextfield   
       document.getELementById(nextfield).focus();
       }
    }
    si tant est que tes champs aient une id incr�ment�e ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  7. #7
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    Par contre avec mon code j'ai cette erreur
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    Error: [Exception... "'Permission denied to get property XULElement.selectedIndex' when calling method: [nsIAutoCompletePopup::selectedIndex]"  nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)"  location: "JS frame :: file:///home/nico/Desktop/test_name.html :: checkFilling :: line 8"  data: no]
    Source File: file:///home/nico/Desktop/test_name.html
    Line: 8
    :

  8. #8
    R�dacteur/Mod�rateur