BLOQUER TOUCHE ENTER

gilids Messages postés 7 Date d'inscription jeudi 11 décembre 2003 Statut Membre Dernière intervention 19 avril 2006 - 6 avril 2005 à 11:57
cs_matlamis Messages postés 4 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 26 juin 2012 - 11 mai 2010 à 08:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30558-bloquer-touche-enter

cs_matlamis Messages postés 4 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 26 juin 2012
11 mai 2010 à 08:59
Voici une autre solution




le plus simple
thiaco Messages postés 1 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 1 mai 2009
1 mai 2009 à 08:35
Voici la solution:
------------------------------

<script type="text/javascript">
function pasentree() {
return !(window.event && window.event.keyCode == 13); }
</script>

-------------------------------
MERCI A TOUS
-------------------------------
SALUT
TheHerv Messages postés 1 Date d'inscription mardi 5 décembre 2000 Statut Membre Dernière intervention 10 mars 2008
10 mars 2008 à 14:41
Bonjour,

je rencontre un problème de même nature.
Ceci sur un application asp.net codée en c#.
Nous utilisons des masterpages, certains boutons doivent répondre via "Enter", mais en règle générale il ne faut pas que l'application réagisse.

J'ai placé ce code dans la masterpage (gérant le formulaire)
<form id="form1" runat="server" onkeydown="if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {var Hack=0;}}" onkeypress="if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {var Hack=0;}}">

En fait, dès que la page est sélectionnée, hé bien, la touche enter agit sur un bouton, or celui-ci ne doit réagir que lorsque un champ précis est onFocus
> voici le code que j'ai pondu
(this.txtRecherche.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which 13) || (event.keyCode 13)) {document.getElementById('" + this.btnRecherche.ClientID + "').click();return false;}} else {return true}; ");)

Quelqu'un a une idée?

Merci d'avance
shudrummer Messages postés 58 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 22 août 2007
6 sept. 2007 à 19:07
Bonjour tout le monde, existe t il un moyen de bloquer la touche entrée, mais pour un element spécifique, je bloque completement là dessus !

Merci !
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
10 août 2005 à 13:52
ok,
je viens de voir d'ou vient le pb
en fait ma focntion ne permet de gerer ca que dans le cas ou il n'y a pas de formulaire en fait (chose qui ne me posait pas de pb vu que je suis sur un portail dotnetnuke en vb.net)
la partie
if (e.type "keypress" & e.keyCode 13)
return !e;
permet de gerer en plus le cas ou le event provient du formulaire et non plus de la feuille elle meme.
Merci d'avoir renvoyé ce que tu avais trouvé
++
letueur52 Messages postés 8 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 10 août 2005
10 août 2005 à 13:42
j'ai trouve un script du meme genre que le tien

merci encore



Permet de bloquer le touche entree sous IE, Mozilla, Netscape.

Le même code que le message précédent mais un peut amelioré:
dans le header :
<script language="JavaScript">
if (document.layers)
document.captureEvents(Event.KEYPRESS)

function process_keypress(e) {
if(window.event){
if (window.event.type "keypress" & window.event.keyCode 13)
return !(window.event.type "keypress" & window.event.keyCode 13);
}
if(e)
{
if (e.type "keypress" & e.keyCode 13)
return !e;
}
}
document.onkeypress = process_keypress;
</script>

Dans la balise du formulaire:
onkeypress = "javascript:process_keypress(event)";
letueur52 Messages postés 8 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 10 août 2005
10 août 2005 à 11:28
ok merci pour le temps que tu m'as consacre
@+
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
10 août 2005 à 10:00
Meme si j'utilise moi meme firefox cette fonction m'a servi au boulot pour IE,
je ne l'ai donc pas testé sous firefox,
test voir deja sous ie si tu arrives a la faire marcher,
ensuite regarde au niveau de tes propriétés car je sias que souvent ce que j'ai devellopé sous firefox necessiatit des chemins complets depis la racine de ton document ex:
sous ie form1 suffit a specifiée la form1 alors que sous firefox il faut specifié document.form1
je l'adapeterais a firefox des que j'aurais un peu de temps mais la je susi au boulot je ne vasi pas avoir pour l'instant
letueur52 Messages postés 8 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 10 août 2005
10 août 2005 à 09:41
il n'y a rien à faire ,
je n'y arrive pas
je suis à la lettre tout ce que tu me dis mais rien ne marche
le javascript est bien activé sur ton navigateur (firefox)
@+
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
8 août 2005 à 13:45
tu as peut etre une balise <form> dans ton code
si celle a method="POST" ta form ce valide quand meme,
pour la bloquer il faut que tu rajoute en plus du code precedent dans ta balise form:
onkeypress="BloqSubmit;"
pour lui preciser que pour ta form aussi la validation par la touche entrée est verouillée
regarde aussi si javascript est bien activé sur ton navigateur
letueur52 Messages postés 8 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 10 août 2005
8 août 2005 à 13:06
j'ai essaye de mettre
<script>document.onkeypress =BloqSubmit;</script>
avant le head======> ne fonctionne pas
juste apres la balise body======> ne fonctionne pas

avec la fonction dans le head

je ne vois pas ou est le probleme
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
8 août 2005 à 11:17
Autant pour moi,
essaye de le mettre en premiere ligne de ton script avant le head.
letueur52 Messages postés 8 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 10 août 2005
5 août 2005 à 20:17
je suis desole mais je n'y arrive pas


je mis dans le head

<script>document.onkeypress =BloqSubmit;

function BloqSubmit()
{
if (window.event.type "keypress" & window.event.keyCode 13)
{
return !(window.event.type "keypress" & window.event.keyCode 13);
}
}
</script>

mais quand je suis dans mon formulaire et que je fait entrer
ca valide quand meme et du coup ça mets une table sql a jour (moins les inputs pas rempli qui sont enregistre a 0)
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
5 août 2005 à 13:05
Oui,Normalement tu dois meme pouvoir la mettre dans le head au dessus de ta fonction BloqSubmit, ca doit pas poser de problemes
letueur52 Messages postés 8 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 10 août 2005
5 août 2005 à 12:13
merci pour la rapidite
je mets donc la fonction dans le head

1. function BloqSubmit()
2. {
3. if (window.event.type "keypress" & window.event.keyCode 13)
4. {
5. return !(window.event.type "keypress" & window.event.keyCode 13);
6. }
7. }

et

dans le body
<script>document.onkeypress =BloqSubmit;
//tes fonctions javascript
</script>

est cela!!
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
5 août 2005 à 11:53
au debut de ta page html:

<script>document.onkeypress =BloqSubmit;
//tes fonctions javascript
</script>

si c'est du visual studio :
dim MesfonctionsJavascript as string ="<script>document.onkeypress =BloqSubmit;
//tes fonctions javascript
</script>"
response.write(MesfonctionsJavascript) (au load de ta page)
letueur52 Messages postés 8 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 10 août 2005
5 août 2005 à 11:22
bonjour,
quelqu'un pourrait il me dire comment on l'insere dans un formulaire
svp
gilids Messages postés 7 Date d'inscription jeudi 11 décembre 2003 Statut Membre Dernière intervention 19 avril 2006
6 avril 2005 à 11:57
Salut,
J'ai pas testé, mais je te propose ça :

function BloqSubmit()
{
if (window.event.type "keypress" && window.event.keyCode 13)

return false;
}

- le & devient un &&
- "return false" suffit, pas besoin de réévaluer un booléen dont tu connais la valeur
Rejoignez-nous