Page 1 sur 1

Focus toujours dans le input

Posté : 21 janv. 2013, 13:52
par stan47
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!

Re: Focus toujours dans le input

Posté : 22 janv. 2013, 13:59
par benv8nam
Tu peux faire avec un évènement. Lorsque l'on clique quelque part refaire le focus sur le champ.

Re: Focus toujours dans le input

Posté : 22 janv. 2013, 15:36
par stan47
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

Re: Focus toujours dans le input

Posté : 22 janv. 2013, 15:53
par stan47
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

Re: Focus toujours dans le input

Posté : 22 janv. 2013, 17:36
par AB
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

Re: Focus toujours dans le input

Posté : 22 janv. 2013, 18:01
par stan47
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 !