Focus toujours dans le input

stan47
Invité n'ayant pas de compte PHPfrance

21 janv. 2013, 13:52

Bonjour, je cherche un moyen de forcer tout le temps le curseur de rester dans un input.
J'aimerai en effet que malgré un clic en dehors du input, le focus revienne automatiquement dans le input.
J'ai réussi uniquement à le mettre en body onload.
Ce script me servira a scanner des codes barres sans avoir a recliquer sur le champ de texte si quelqu'un a malencontreusement cliqué dans un endroit quelconque de la page
Merci d'avance de votre aide!

Eléphant du PHP | 130 Messages

22 janv. 2013, 13:59

Tu peux faire avec un évènement. Lorsque l'on clique quelque part refaire le focus sur le champ.

stan47
Invité n'ayant pas de compte PHPfrance

22 janv. 2013, 15:36

Merci de ta réponse tout d'abord.
J'ai essayé pas mal de tentatives mais je ne trouve pas la logique en fait pour réussir a faire celà.
Est il possible de m'aiguiller ?
le formulaire actuel est tout a fait classique avec 1 input de type text c'est pour cela que je n'ai pas mis de portions de code ci-dessus
merci d'avance

stan47
Invité n'ayant pas de compte PHPfrance

22 janv. 2013, 15:53

Je suis a peu près "sûr" qu'il faut utiliser en jquery focusout. Mais bon sang je comprends pas comment l'utiliser. Je ne maîtrise pas réellement jquery malheureusement.. Et google ami de toujours, me fait faux bon

ViPHP
AB
ViPHP | 5818 Messages

22 janv. 2013, 17:36

Je pense pas que ce soit la bonne méthode. Je penserais à priori plutôt que ce n'est pas possible sinon le visiteur serait bloqué et par principe ce genre d'opération est ignorée des navigateurs.

Cela dit, si onload le curseur est bien positionné c'est l'essentiel. La suite appartient à la responsabilité de l'utilisateur. Je vois pas où est ton problème #-o

stan47
Invité n'ayant pas de compte PHPfrance

22 janv. 2013, 18:01

Ca y est j'ai trouvé, ci ca peut "servir" de base à d'autres

<script type="text/javascript">
$(document).ready(function(){
$('#rech').blur(function(){
setTimeout(function() { document.forms['myform'].elements['rech'].focus(); }, 10);
return;
});
});
</script>

C'est certes surement pas très académique mais ca fait ce que je lui demande. C'est à dire remettre le curseur dans l'input après un clic malencontreux ou un clic sur mes menus a onglets sans rechargement de page. C'est le principal !