Comment mettre le curseur à la zone de saisie en Javascript?
document.getElementById(frmObj.id).value="";
document.getElementById(frmObj.id).autofocus;
document.getElementById("errorMsg").innerHTML = "Only numeric value is allowed";
Dans le code ci-dessus, la valeur de l'objet de formulaire est parfaitement paramètre ""
mais il n'y a pas de curseur dans la zone de texte. Je veux un curseur d'être là. focus()
ne met l'accent que la zone de saisie mais n'est pas réellement le curseur.
document.getElementById(fieldID).focus();
devrait mettre le curseur clignotant dans le champ de formulaire, sauf si vous avez quelque chose qui saisit le focus sur la page. La déclaration avec .autofocus vous avez maintenant ne fait rien.focus()
ne mettre le curseur. C'est tout le sens de l'orientation de l'action.- si le focus ne fonctionne pas, je voudrais essayer de la souris()
- Les futurs lecteurs: assurez-vous également que l'élément de ciblage a été ajouté dans les DOM. J'ai été de créer des éléments dans le script et de l'appel de focus() sur eux avant que j'ai ajouté à eux. Changement de l'ordre fixe le problème pour moi.
Vous devez vous connecter pour publier un commentaire.
Dans JavaScript d'abord mettre l'accent sur le contrôle, puis sélectionnez la commande afficher le curseur sur texbox...
ou en utilisant jQuery
Je me rends compte que c'est assez et vieille question, mais j'ai un "stupide" solution à un problème similaire, qui peut-être pourrait aider quelqu'un.
J'ai eu le même problème avec une zone de texte qui montre que sélectionnées (par la méthode JQuery), mais n'a pas pris le curseur dans.
Le fait est que j'ai eu la fenêtre du Débogueur ouvrir pour voir ce qui se passe et QUE fenêtre était vole le focus. La solution est banally simple: il suffit de fermer le Débogueur et tout va bien...1 heure passée dans les tests!
<span>
élément peut recevoir le focus et cela a fini par être le problème (je suis content de défilement passé le premier a accepté de répondre). J'ai aussi trouvé qu'il n'y sont les éléments html qui ne sont pas focusable par défaut (semble être spécifiques à un navigateur). Le<span>
élément est l'un de ces éléments est pourquoi Chrome (Version 57) donne le focus à la fenêtre outils de développement.Parfois vous avez l'accent mais pas de curseur dans un champ de texte. Dans ce cas, vous devez faire ceci:
setSelectionRange
ne fonctionnerait PAS sur<input type="number"/>
L'une des choses qui peuvent vous mordre si vous utilisez
.onmousedown
que votre interaction de l'utilisateur; lorsque vous le faire, et puis une tentative est immédiatement pour sélectionner un champ, il ne se produira pas, parce que la souris est maintenu enfoncé sur autre chose. Ainsi le changement de.onmouseup
et alto, maintenantfocus()
fonctionne, parce que la souris est dans un un-cliqué sur l'icône de l'état lors de la tentative de changer le focus est fait.Vous n'avez pas fourni assez de code pour vous aider à
Il est probable que vous soumettez le formulaire et de recharger la page OU vous avez un objet sur la page d'un PDF intégré qui s'empare de la mise au point.
Ici est la forme canonique de la plaine javascript méthode de validation d'un formulaire
Il peut être amélioré avec onubtrusive JS qui va supprimer le script en ligne, mais c'est le point de départ DÉMO
Voici le code HTML
De cette façon, définit le focus et le curseur à la fin de votre saisie: