document.forms[0].elements[0].focus();
Cette fonction peut être affinée à l'aide d'une boucle pour, par exemple, ne pas mettre l'accent sur certains types de champs, sur les champs désactivés, etc. L'idéal serait d'ajouter un class="autofocus" au champ que vous souhaitez mettre au point. faire veut se concentrer, et passe en boucle sur forms[i].elements[j] à la recherche de ce className.
Quoi qu'il en soit, ce n'est normalement pas une bonne idée de faire cela sur chaque page. Lorsque vous mettez au point une entrée, l'utilisateur perd la possibilité, par exemple, de faire défiler la page à partir du clavier. Si c'est inattendu, cela peut être ennuyeux, donc ne mettez le focus automatique que lorsque vous êtes sûr que l'utilisation du champ du formulaire sera ce que l'utilisateur veut faire, c'est-à-dire si vous êtes Google.
7 votes
REMARQUE : si le formulaire est placé en bas de la page de manière à ce que l'utilisateur doive faire défiler la page pour voir le formulaire, la mise au point fera automatiquement défiler la page vers le bas, comme le ferait une ancre. Ce n'est pas très bon car l'utilisateur qui arrive sur cette page la verra immédiatement défiler vers le bas jusqu'à la position du formulaire. J'ai testé sur Safari et FF (IE7 ne fait pas défiler la page).
0 votes
@Marco_Demaio Mon application web est structurée de manière à ce que chaque page ait ses champs de saisie en haut de la fenêtre.
3 votes
Que se passe-t-il si l'utilisateur redimensionne la hauteur de la fenêtre du navigateur à quelque chose de plus petit que 768px. La page défilerait jusqu'à l'endroit où vous avez mis l'accent. Quoi qu'il en soit, je voulais simplement vous avertir au cas où vous ne seriez pas au courant de ce problème mineur, je ne l'étais pas non plus avant de faire quelques tests.