Touche entrée BIS

Le
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=) 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" />
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
SAM
Le #21469981
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>

<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
Bol
Le #21471131
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
LeBuss
Le #21471991
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" />
SAM
Le #21472281
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
SAM
Le #21472391
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>
<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
Bol
Le #21472541
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

<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
LeBuss
Le #21473511
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

<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


Bol
Le #21473501
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

<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();
}
LeBuss
Le #21473651
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

<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();
}







LeBuss
Le #21473641
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

<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();
}







Publicité
Poster une réponse
Anonyme