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 :

modifier la touche [entrée] dans un formulaire


Sujet :

JavaScript

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut modifier la touche [entrée] dans un formulaire
    Bonsoir

    Je me pose une question métaphysique...
    Je souhaite faire une petite page php pour modifier une base de données.
    Celle-ci se présente comme un tableau avec des cases préremplies à modifier : un formulaire (balise form).

    Je pense qu'il serait utile/agréable pour l'utilisateur habitué à un tableur que la touche entrée ne valide pas le formulaire, mais fasse passer à la casse suivante.

    Est-ce faisable ? Est-ce un machin tellement courant que ma question vous semble idiote ?
    Est-ce sans espoir ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Par défaut
    salut,

    tu peux facilement en javascript... le code de la touche entree est 13 je crois si je me rappelle bien

    edit :
    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
     
    <html>
    <head>
    	<script type="text/javascript">
    	function mafonction(e) {
    		if (window.event) {e=event;} // IE
    		if(e.keyCode == 13) {
    			alert("entree");
    		}
    	}
    	</script>
    </head>
    <body onkeypress="javascript:mafonction(event);">
     
    </body>
    </html>

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Merci, ça progresse

    Maintenant, il me faut :
    1) simuler l'appui sur la touche Tab
    2) rajouter onkeypress="javascript:mafonction(event);" sans accéder à la balise <body> qui est définie dans un autre document.

    Je trouverais peut-être facilement après une nuit de sommeil
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  4. #4
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut
    Salut,

    J'ai fais ça y'a 6 mois, c'est loin d'être top, mais ça fait la blague :

    http://verybadman.free.fr/editable/

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Pas mal !
    Ce n'est pas tout à fait ce que je cherche.
    Tu ne rediriges pas la touche [Entrée].
    Par contre, ton code me montre que je ne maitrise pas tout . Surtout dans http://verybadman.free.fr/editable/application.js où je ne vois pas pourquoi tu as mis des fonctions dans une fonction et je ne sais pas non plus ce que représente tes $ dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    			var tb = $(tableId),
    			tds = $t(tb,"td");
    Autre remarque : pourquoi n'alignes-tu pas tes { avec tes } ? Tu trouves que c'est plus lisible ?
    Pour ma part, j'aime bien quand je vois un { voir rapidement où il se ferme : le } qui est en dessous. De même avec le { , je cherche celui qui est au dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     dsqfqsf
     hghdgj
     {
            mpofjumoigh
            slqijfaeslfuqo
     }
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  6. #6
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    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
    23
    24
    25
    26
    27
    28
    function $(el){
    			return document.getElementById(el);
    		}
     
    		function $t(el,tag) {
    				return el.getElementsByTagName(tag);
    		}
     
    		function $c(nodeSet,cName) {
    			var i  = 0,
    				el = nodeSet[i],
    				sortedNodeSet = [];
     
    			while(el) {
    				if(el.nodeName == "#text") {
    					i++;
    					el = nodeSet[i];
    					continue;	
    				}
    				if(el.className == cName) {
    					sortedNodeSet.push(el);
    				}
    				i++;	
    				el = nodeSet[i];
     
    			}
    			return sortedNodeSet;
    		}
    $() -> GetElementById
    $t() -> GetElementsByTagName
    $c() -> GetElementsByClassName

    Le script n'est bien sur pas ce que tu demandes, il faut l'adapter, changer le code touche (tab) pour celui de la touche éntrée.

    Ensuite ça dépend de ce que tu veux faire en terme d'ergo

  7. #7
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    plus simplement:
    ne mets pas de bouton submit et remplace le par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='button' onclick='this.form.submit()' value="envoyer" />
    la touche enter ne validera plus le form ...
    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 !

  8. #8
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Ceci évite au moins la validation avec la touche entrée !
    Maintenant, il va falloir que je modifie l'action de la touche [entrée] qui devra renvoyer sur l'item suivant.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  9. #9
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    j'ai collé un truc dans les codes sources sufit de capter la touche entrée et de jouer avec les tabIndex ...
    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 !

  10. #10
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    j'ai collé un truc dans les codes sources sufit de capter la touche entrée et de jouer avec les tabIndex ...
    Où ça ?
    Dans http://javascript.developpez.com/sources/ ? Je n'ai pas trouvé ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  11. #11
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    peut être dans la FAQ alors ... ?

    http://javascript.developpez.com/faq...js#TexteSuivat

    là c'est sur la taille max mais suffit de l'adapter ..
    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 !

  12. #12
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    J'avais vu ce script. Mais, il impose de connaitre avec une variable globale la case où on est.
    C'est une méthode que je prévois d'envisager.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  13. #13
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    y'a pas de hasFocus en javascript ...
    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 !

  14. #14
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    y'a pas de hasFocus en javascript ...
    Bon, et bien dans ce cas, je suis sûr que mon problème est insolvable comme je comptais le faire !
    Malgrès ceci, je vais mettre une balise
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  15. #15
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Partie sur toutes les pages :
    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
     
    <script type="text/JavaScript">
    //<![CDATA[
    //document.onkeypress=mafonction;
     suivant=0;
     clef=new Array();
     
     function va_suivant(e)
     {
      if (window.event) {e=event;} // IE
      if (clef.inArray(e.keyCode))
       document.forms[0].elements[suivant].focus();
     }//]]>
    </script>
     </head>
     <body onkeypress="javascript:va_suivant(event);">
    Partie insérée sur la page qui en a besoin :
    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
    clef[0]=13;
    suivant=0;
     
    //]]>
    </script>
    <tr>
     <td><input type='text' name='nom' size='10' onfocus="suivant=this.form.elements.length-6;" onvalue='<? echo $entree_POST['nom'] ?>'/></td>
     <td><input type='text' name='lire' size='2' onfocus="suivant=this.form.elements.length-5;" value='<? echo $entree_POST['lire'] ?>' /></td>
     <td><input type='text' size='10' onfocus="suivant=this.form.elements.length-4;;" name='mdp' /></td>
     <td><textarea name='module' rows='2' cols='45' value='<? echo $entree_POST['module'] ?>' onfocus="suivant=this.form.elements.length-1;" /></textarea></td>
     <td><input type='radio' name='choix' value='in_' /></td>
     <td>&nbsp;</td></tr>
    </table>
    <p><input type='button' onclick='this.form.submit()' value="envoyer" />&nbsp;<input type="reset" name ="neuf" value="Annuler" /></p>
    </form>
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

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

Discussions similaires

  1. Désactiver la touche entrée dans un formulaire
    Par Mat67 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 24/02/2013, 06h31
  2. Neutraliser la touche Entrée dans un formulaire
    Par laTayour dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/07/2010, 10h31
  3. Touche Entrée dans le DBGrid.
    Par abdelghani_k dans le forum Bases de données
    Réponses: 22
    Dernier message: 24/10/2009, 15h08
  4. [HTML]Problème avec la touche "entrée" dans un formulaire
    Par WerKa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/06/2007, 20h34
  5. touche entrée dans formulaire
    Par pram dans le forum XMLRAD
    Réponses: 8
    Dernier message: 15/04/2003, 09h13

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