C'est probablement très simple, mais quelqu'un pourrait-il me dire comment faire clignoter le curseur sur une zone de texte lors du chargement de la page?
C'est probablement très simple, mais quelqu'un pourrait-il me dire comment faire clignoter le curseur sur une zone de texte lors du chargement de la page?
Réponses:
Mettez l'accent sur le premier champ de texte:
$("input:text:visible:first").focus();
Cela fait également le premier champ de texte, mais vous pouvez changer le [0] en un autre index:
$('input[@type="text"]')[0].focus();
Ou, vous pouvez utiliser l'ID:
$("#someTextBox").focus();
$('input[type="text"]').get(0).focus();
... a fonctionné pour moi
Vous pouvez utiliser HTML5autofocus
pour cela. Vous n'avez pas besoin de jQuery ou d'un autre JavaScript.
<input type="text" name="some_field" autofocus>
Notez que cela ne fonctionnera pas sur IE9 et inférieur.
Sûr:
<head>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("#myTextBox").focus();
});
</script>
</head>
<body>
<input type="text" id="myTextBox">
</body>
Pourquoi tout le monde utilise jQuery pour quelque chose de simple comme ça.
<body OnLoad="document.myform.mytextfield.focus();">
Pensez à votre interface utilisateur avant de le faire. Je suppose (bien qu'aucune des réponses ne l'ait dit) que vous ferez cela lorsque le document se chargera à l'aide de la ready()
fonction de jQuery . Si un utilisateur s'est déjà concentré sur un élément différent avant le chargement du document (ce qui est parfaitement possible), il est extrêmement irritant pour lui d'avoir le focus volé.
Vous pouvez vérifier cela en ajoutant des onfocus
attributs dans chacun de vos <input>
éléments pour enregistrer si l'utilisateur s'est déjà concentré sur un champ de formulaire et ne pas voler le focus s'il a:
var anyFieldReceivedFocus = false;
function fieldReceivedFocus() {
anyFieldReceivedFocus = true;
}
function focusFirstField() {
if (!anyFieldReceivedFocus) {
// Do jQuery focus stuff
}
}
<input type="text" onfocus="fieldReceivedFocus()" name="one">
<input type="text" onfocus="fieldReceivedFocus()" name="two">
HTML:
<input id="search" size="10" />
jQuery:
$("#search").focus();
autofocus
attribut à l'élément d'entrée?
Désolé d'avoir heurté une vieille question. J'ai trouvé cela via google.
Il est également intéressant de noter qu'il est possible d'utiliser plusieurs sélecteurs, vous pouvez donc cibler n'importe quel élément de formulaire, et pas seulement un type spécifique.
par exemple.
$('#myform input,#myform textarea').first().focus();
Cela concentrera la première entrée ou zone de texte qu'il trouve, et bien sûr, vous pouvez également ajouter d'autres sélecteurs dans le mixage. Hnady si vous ne pouvez pas être certain qu'un type d'élément spécifique soit le premier, ou si vous voulez quelque chose d'un peu général / réutilisable.
Voici ce que je préfère utiliser:
<script type="text/javascript">
$(document).ready(function () {
$("#fieldID").focus();
});
</script>
autofocus
attribut fourni par HTML5
placer après entrée
<script type="text/javascript">document.formname.inputname.focus();</script>
La manière la plus simple et la plus simple d'y parvenir
$('#button').on('click', function () {
$('.form-group input[type="text"]').attr('autofocus', 'true');
});
La ligne $('#myTextBox').focus()
seule ne place pas le curseur dans la zone de texte, utilisez plutôt:
$('#myTextBox:text:visible:first').focus();