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 :

desactiver/activer touche clavier


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 9
    Points
    9
    Par défaut desactiver/activer touche clavier
    Bonjour,
    je dispose d'un formulaire sur 4 pages
    et je "hide" et je "show" 1 div a chaque etape de mon formulaire
    Mon probleme est le suivant :
    je voudrais faire en sorte que les utilisateurs du formulaire n'appuie pas sur la touche "Entrée" mais arrivé a la derniere page ( il ya un champ textearea ) je souhaite reactiver la touche "Entrée" pour pouvoir permettre les sauts de ligne sur le textarea.
    Quelqu'un a une idée de ce que je peut faire pour avoir un code qui tourne sur FF et IE ??

    Merci a vous

  2. #2
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    Désactiver la touche Entrée ?

    Quel est le but ?
    si c'est pour empêcher la validation du formulaire, normalement, si tu as plus de 1 champ de type text, c'est fait automatiquement par ton navigateur, si tu veux passer à la page suivante sur appui de la touche entrée, alors, tu dois ajouter un keylistener qui vérifie la touche entrée et qui déclenche le form.onsubmit ou le bouton.onclick.

  3. #3
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Si je t'ai bien compris, tu veux éviter de poster le formulaire quand
    on presse enter trop tot ?

    Ce que je te propose c'est un script dans le genre

    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
     
    window.onload = function() {
    	var champs = document.getElementsByTagName('input');
    	for(var i=0;i<champs.length;i++) {	
    		if(champs[i].type=='text') {
    			champs[i].onkeypress = disableEnterKey;
    		}
    	}
    }
     
    function disableEnterKey(event) {
    	var event = event || window.event;
    	if(event.keyCode==13) {
    		if (event.preventDefault) {
    			event.preventDefault();
    			event.stopPropagation();
    		} else {
    			event.returnValue = false;
    			event.cancelBubble = true;
    		}		
    	}
    }
    Le principe est d'intercepter l'évenement onkeypress sur tous les champs
    où la touche enter ne doit pas envoyer le formulaire. Dans mon exemple,
    c'est tous les inputs de type texte, mais tu peux en gérer d'autres.

    Si la touche enter est pressée alors on évite la propagation de l'évènement,
    ce qui empêche le traitement par défaut (soit l'envoi du formulaire dans ce cas)

    J'ai pas testé sur IE, mais le code devrait être crossbrowser.

    Si qqn a plus simple ? (y a surement plus simple :-)

  4. #4
    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
    EDIT : validation de réponse intempestive

  5. #5
    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,
    Citation Envoyé par marcha
    Si qqn a plus simple ? (y a surement plus simple :-)
    Ne créer le bouton submit qu'une fois qu'il est envisageable de submiter le <form> ?

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Citation Envoyé par E.Bzz
    Bonjour,
    Ne créer le bouton submit qu'une fois qu'il est envisageable de submiter le <form> ?
    +1

    Pendant que j'y pense, j'ai rencontré des problèmes avec Safari, il ne postait
    pas les champs dans des div en display none ou visibility hidden.
    Qqn a rencontré ça ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 9
    Points
    9
    Par défaut thx
    Oui merci beaucoup en effet ca marche tres bien sur FF et IE 6.0 ( miracle? ) et en effet ya plus facile comme l'as preciser E.Bzz

  8. #8
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Citation Envoyé par E.Bzz
    Bonjour,
    Ne créer le bouton submit qu'une fois qu'il est envisageable de submiter le <form> ?
    J'ai justement ce probleme. mais je ne comprends pas la réponse de E.Bzz !
    Comment faire pour créer un bouton submit apres qu'il soit envisageable de submiter le form ??

    On prendra cet exemple svp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function ouvrir()
    {
      //ouverture vers une page web
    }
     
    <form action="*.php" method="GET" onkeypress="/*fonction blocage touche entree*/">
    <input type="text" name="zone_texte1">
    <input type="radio" value="1">choix1
    <input type="radio" value="2">choix2
    <input type="radio" value="3">choix3
    <input type="button" onclick="/* javascript:ouvrir()*/">
    quand je clique sur le bouton ça marche nickel, quand j'appuie sur entrée dans le textbox ou sur mes radio, j'ai des erreurs parceque ça m'envoie vers la page suivante, mais justement j'en ai pas envi, i lfaut impératiement que la touche entrée soit désactivée. ( bien entendu avec un textbox rempli et une valeur radio checked )

    Comment transformer mon code avec un submit qui inhibe la touche entrée sur ma page ?

  9. #9
    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
    Citation Envoyé par stolx_10
    J'ai justement ce probleme. mais je ne comprends pas la réponse de E.Bzz !
    Comment faire pour créer un bouton submit apres qu'il soit envisageable de submiter le form ??
    Ce n'est qu'un pb de lecture
    Il n'est bien sûr pas question de le créer après, mais juste avant ....

    A+

  10. #10
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    hum....tout à fait ! c'est tout à fait clair.... euh...comme l'autre réponse, avec plus de clareté je comprendrais mieux

  11. #11
    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
    Citation Envoyé par stolx_10
    hum....tout à fait ! c'est tout à fait clair.... euh...comme l'autre réponse, avec plus de clareté je comprendrais mieux
    Bon !

    1) tu as ton form créé sans bouton submit
    2) tu remplis tous les champs
    3) une fois le controle "champs remplis" = "ok" tu crées ton bouton submit

    Ainsi, le submit (en appuyant sur Entrée) n'est pas possible avant (mais possible à la fin, au cas où ...)

    Mieux là ?


  12. #12
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Ce n'est qu'un pb de lecture
    Il n'est bien sûr pas question de le créer après, mais juste avant ....
    C'est surtout cette phrase qui m'a perturbé, mais là je comprends mieux où tu veux en venir Désolé de t'avoir troublé mais quand j'ai pas trop envi de déchiffrer les autres je pousse un peu

    Merci encore je sais maintenant sur quelle voie me guider

  13. #13
    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
    No problem

    A+

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

Discussions similaires

  1. Desactiver les touches clavier pour les controles d'une form
    Par Mustang83 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/10/2013, 12h53
  2. Fonction des l'activation d'une touche clavier
    Par escalopepane dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/10/2013, 15h49
  3. [Gosu] Touches clavier activées
    Par aidefz dans le forum Ruby
    Réponses: 2
    Dernier message: 28/03/2007, 16h28
  4. activer / desactiver la touche MAJ
    Par pimousse_on_ice dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2006, 20h55
  5. envoie de touche clavier
    Par psfox2001 dans le forum DirectX
    Réponses: 1
    Dernier message: 13/03/2003, 21h56

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