sapakus
Messages postés96Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention10 février 2011
-
12 juil. 2008 à 16:36
sapakus
Messages postés96Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention10 février 2011
-
12 juil. 2008 à 21:57
Bonjour,
Pour pallier à l'absence de fonction permettant de controler l'état focus ou blur d'un élément de formulaire, il est de coutume d'avoir un booléen que l'on passe de true à false et de false à true, genre :
Mais j'avoue donner ma langue à la marmotte, dans ce cas précis :
J'ai deux (un des deux à le focus) et je veux déclencher une fonction (qui met le display des deux input à none) quand les deux n'ont plus le focus.
Le problème est qu'avec le système précédant on a :
[true,false] on démarre avec le focus sur le 1er input par exemple
[false,false] on vient de quitter le premier champ on est pour ainsi dire dans le vide pendant le onblur
[false,true] on est arrivé sur le deuxieme
[false,false] je quitte le deuxieme pour aller ailleurs
etc..
Bref , avec ce système on ne peut pas déclencher une fonction avec onBlur qui pourra controler la perte de focus définitive (dans le cas où on a cliqué en dehors des deux champs)
sapakus
Messages postés96Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention10 février 20113 12 juil. 2008 à 18:47
Merci de ton aide, mais j'avais déja essayer comme ça. En fait le problème est que le onblur du champ que l'on quitte se déclenche avant le onfocus du champ sur lequel on va ! Mais j'ai une solution maintenant :
A chaque appel de la fonction on se retrouve à [false,false] sauf si on donne le temps à onfocus de passer sa variable à true avec un setTimeout:
<head>
<script type='text/javascript'>
var input1 = false;
var input2 = false;
function fct ()
{ if(input1 false && input2 false)
{
alert("ok");
}
}
function Blur2() {
setTimeout("fct();",200);
}
</script>
</head>