Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Touche entrée BIS

23 réponses
Avatar
LeBuss
Bonjour,

suite à un prmier POST, je compléte ma question.
Ci dessous le bout de code JS qui en théorie :
1) active le bouton "bp_chercher" si j'ai au moins 3 caracteres (ça
fonctionne bien)
2) doit me faire un submit du formulaire si j'appuie sur la touche
Entrée du clavier (OK sous Firefox et Safari mais PAS SOUS IE)

Ma question est comment avoir le même comportement sous les 3 navigateurs ??
Merci
Christophe



<SCRIPT LANGUAGE="JavaScript">
function valid(entree) // Mise en service du bouton chercher si au
moins 3 caractères ont été saisis
{
if(entree.length <= 2)
{
document.forms[0].bp_cherche.disabled = true;
var touche = window.event ? entree.keyCode : entree.which;
if (touche==13) return;
}
else
{
document.forms[0].bp_cherche.disabled = false;
}
}
//------------------------------------------------------------------------------------------
</SCRIPT>


.
.
.
.

<input name="c_critere" type="text" id="c_critere"
onKeyUp="valid(this.value)" />
<input name="bp_cherche" type="submit" id="bp_cherche" value="Chercher" />

10 réponses

1 2 3
Avatar
SAM
Le 3/30/10 11:01 PM, LeBuss a écrit :
Bonjour,

suite à un prmier POST, je compléte ma question.
Ci dessous le bout de code JS qui en théorie :
1) active le bouton "bp_chercher" si j'ai au moins 3 caracteres (ça
fonctionne bien)
2) doit me faire un submit du formulaire si j'appuie sur la touche
Entrée du clavier (OK sous Firefox et Safari mais PAS SOUS IE)

Ma question est comment avoir le même comportement sous les 3
navigateurs ??



c'est complètement pur hasard si les autres font ce que tu veux
car :
if (touche=)
n'arrive jamais.
En effet, touche est toujours 'undefined'
car
entree.keycode ou entree.which n'ont aucun sens ... !
car :
1) 'entree' n'est pas un event.
2) c'est keyCode (et non pas keycode)


Peut-être ceci pourrait fonctionner :

<script type="text/javascript">
function valid(entree, e) // Mise en service du bouton chercher si au
moins 3 caractères ont été saisis
{
e = window.event? event : e;
var touche = e.keyCode;
if(entree.value.length <= 2)
{
document.forms[0].bp_cherche.disabled = true;
if (touche=) returnValue = false;
}
else
{
document.forms[0].bp_cherche.disabled = false;
}
}
</script>

<form action="test.htm">
<div>
<input name="c_critere" type="text" onkeyup="valid(this, event)">
<input name="bp_cherche" type="submit" value="Chercher">
</div>
</form>


à tester avec IE
les autres navigateurs semblant n'avoir besoin que du submit
disabled/enabled
--
sm
Avatar
Bol
function valid(entree, e) // Mise en service du bouton chercher si au
moins 3 caractères ont été saisis
{
e = window.event? event : e;

<input name="c_critere" type="text" onkeyup="valid(this, event)">



Je vois souvent ce code, pour ma part la selection
window.event n'est pas nécessaire.

Ceci

onkeyup="valid(this,event)"

puis

function valid(entree, e)
{
var touche = e.keyCode;

doit etre suffisant car e est déjà
- soit event reçu en parametre de onkeyup
- soit event de l'objet window (notation implicite)

A+
Bol
Avatar
LeBuss
Merci à tous les deux mais d'une manière ou de l'autre, j'ai toujours le
même comportement à savoir, pas d'envoi du formulaire sous IE !

IE c'est quand même pénible, le pb c'est il a encore trop de part de
marché pour le négliger










Le 30/03/2010 23:01, LeBuss a écrit :
Bonjour,

suite à un prmier POST, je compléte ma question.
Ci dessous le bout de code JS qui en théorie :
1) active le bouton "bp_chercher" si j'ai au moins 3 caracteres (ça
fonctionne bien)
2) doit me faire un submit du formulaire si j'appuie sur la touche
Entrée du clavier (OK sous Firefox et Safari mais PAS SOUS IE)

Ma question est comment avoir le même comportement sous les 3
navigateurs ??
Merci
Christophe



<SCRIPT LANGUAGE="JavaScript">
function valid(entree) // Mise en service du bouton chercher si au moins
3 caractères ont été saisis
{
if(entree.length <= 2)
{
document.forms[0].bp_cherche.disabled = true;
var touche = window.event ? entree.keyCode : entree.which;
if (touche=) return;
}
else
{
document.forms[0].bp_cherche.disabled = false;
}
}
//------------------------------------------------------------------------------------------

</SCRIPT>


.
.
.
.

<input name="c_critere" type="text" id="c_critere"
onKeyUp="valid(this.value)" />
<input name="bp_cherche" type="submit" id="bp_cherche" value="Chercher" />
Avatar
SAM
Le 3/31/10 12:04 PM, Bol a écrit :
function valid(entree, e) // Mise en service du bouton chercher si au
moins 3 caractères ont été saisis
{
e = window.event? event : e;



<input name="c_critere" type="text" onkeyup="valid(this, event)">



Je vois souvent ce code, pour ma part la selection
window.event n'est pas nécessaire.

Ceci

onkeyup="valid(this,event)"

puis

function valid(entree, e)
{
var touche = e.keyCode;

doit etre suffisant car e est déjà
- soit event reçu en parametre de onkeyup
- soit event de l'objet window (notation implicite)



et est-ce que ça fonctionne (returnValueúlse;) avec IE ?

Je ne puis tester, la map-clavier de mon IE est un peu spéciale (la
touche entree y a l'air d'être de code = 16)

--
sm
Avatar
SAM
Le 3/31/10 2:47 PM, LeBuss a écrit :
Merci à tous les deux mais d'une manière ou de l'autre, j'ai toujours le
même comportement à savoir, pas d'envoi du formulaire sous IE !



Le mien envoie dès qu'on manipule la touche entrée
et ce, que submit soit disabled ou non

il faut donc employer onKeyDown au lieu de onKeyUp

function valid(entree, e) // Mise en service du bouton chercher si au
moins 3 caractères ont été saisis
{
var touche = e.keyCode;
if(entree.value.length <= 2)
{
document.forms[0].bp_cherche.disabled = true;
if (touche=) e.returnValue = false;
}
else
{
document.forms[0].bp_cherche.disabled = false;
}
}
</script>
</head>
<body>
<h1></h1>
<form action="test.htm">
<div>
<input name="c_critere" type="text" id="c_critere"
onkeydown="valid(this, event)" />
<input name="bp_cherche" type="submit" id="bp_cherche"
value="Chercher" />
</div>
</form>

--
sm
Avatar
Bol
Merci à tous les deux mais d'une manière ou de l'autre, j'ai toujours le
même comportement à savoir, pas d'envoi du formulaire sous IE !



J'ai pas testé les exemples donnés,
mais un truc dans le genre devrait le faire

<form action="test.htm">
<input name="c_critere" type="text" onkeyup="valid(this, event)">
<input name="bp_cherche" type="submit" value="Chercher">
</form>

function valid( entree, e )
{
entree.form.elements['bp_cherche'].disabled = !(entree.value.length >= 3);
if( e && e.keyCode == 13 )
return entree.value.length < 3 || !!entree.form.submit();
}

à voir

A+
Bol
Avatar
LeBuss
Avec ce dernier code, mon bouton passe bien service quand j'ai au moins
trois caractères mais le submit ne se fait pas quand je valide avec la
touche entrée, seul un click sur le bouton envoie mon formulaire.


Le 31/03/2010 15:48, Bol a écrit :
Merci à tous les deux mais d'une manière ou de l'autre, j'ai toujours le
même comportement à savoir, pas d'envoi du formulaire sous IE !



J'ai pas testé les exemples donnés,
mais un truc dans le genre devrait le faire

<form action="test.htm">
<input name="c_critere" type="text" onkeyup="valid(this, event)">
<input name="bp_cherche" type="submit" value="Chercher">
</form>

function valid( entree, e )
{
entree.form.elements['bp_cherche'].disabled = !(entree.value.length>= 3);
if( e&& e.keyCode == 13 )
return entree.value.length< 3 || !!entree.form.submit();
}

à voir

A+
Bol


Avatar
Bol
Avec ce dernier code, mon bouton passe bien service quand j'ai au moins
trois caractères mais le submit ne se fait pas quand je valide avec la
touche entrée, seul un click sur le bouton envoie mon formulaire.



C'est en ligne quelque part pour tester ?

A+
Bol

J'ai pas testé les exemples donnés,
mais un truc dans le genre devrait le faire

<form action="test.htm">
<input name="c_critere" type="text" onkeyup="valid(this, event)">
<input name="bp_cherche" type="submit" value="Chercher">
</form>

function valid( entree, e )
{
entree.form.elements['bp_cherche'].disabled = !(entree.value.length>=
3);
if( e&& e.keyCode == 13 )
return entree.value.length< 3 || !!entree.form.submit();
}
Avatar
LeBuss
OUI ici : http://bg-distribution.fr/consult.php

saisie d'une ref et validation par enter : ok sous FF,Safari,opéra et
chrome mais pas sous IE


Le 31/03/2010 18:37, Bol a écrit :
Avec ce dernier code, mon bouton passe bien service quand j'ai au moins
trois caractères mais le submit ne se fait pas quand je valide avec la
touche entrée, seul un click sur le bouton envoie mon formulaire.



C'est en ligne quelque part pour tester ?

A+
Bol

J'ai pas testé les exemples donnés,
mais un truc dans le genre devrait le faire

<form action="test.htm">
<input name="c_critere" type="text" onkeyup="valid(this, event)">
<input name="bp_cherche" type="submit" value="Chercher">
</form>

function valid( entree, e )
{
entree.form.elements['bp_cherche'].disabled = !(entree.value.length> >>> 3);
if( e&& e.keyCode == 13 )
return entree.value.length< 3 || !!entree.form.submit();
}







Avatar
LeBuss
La version avec votre code n'est pas en ligne, mais en local.

Le 31/03/2010 18:37, Bol a écrit :
Avec ce dernier code, mon bouton passe bien service quand j'ai au moins
trois caractères mais le submit ne se fait pas quand je valide avec la
touche entrée, seul un click sur le bouton envoie mon formulaire.



C'est en ligne quelque part pour tester ?

A+
Bol

J'ai pas testé les exemples donnés,
mais un truc dans le genre devrait le faire

<form action="test.htm">
<input name="c_critere" type="text" onkeyup="valid(this, event)">
<input name="bp_cherche" type="submit" value="Chercher">
</form>

function valid( entree, e )
{
entree.form.elements['bp_cherche'].disabled = !(entree.value.length> >>> 3);
if( e&& e.keyCode == 13 )
return entree.value.length< 3 || !!entree.form.submit();
}







1 2 3