Enfoque predeterminado del formulario html sin JavaScript


¿Es posible establecer el enfoque de entrada predeterminado en un formulario HTML sin usar JavaScript, por ejemplo:

<html>
  <form>
    Input 1: <input type="text" name="textbox1"/>
    <br/>
    Input 2: <input type="text" name="textbox2"/>
  </form>
</html>

Quiero establecer el foco predeterminado en cualquiera de los cuadros de texto cuando el formulario se carga sin usar JavaScript (ya que quiero que el comportamiento ocurra cuando un usuario tiene js deshabilitado).

Author: Trott, 2010-11-12

5 answers

Puede hacerlo en HTML5, pero de lo contrario, debe usar JavaScript.

HTML5 le permite agregar autofocus a su elemento de formulario, por ejemplo:

<input type="text" name="myInput" autofocus />

Esto funciona en navegadores que soportan HTML5 (O más bien, navegadores que soportan esta parte en particular de HTML5) pero como usted sabe, no todo el mundo puede usarlo todavía.

 250
Author: Jake Lucas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-04 05:43:44

Algo que hay que tener en cuenta ... si configura un elemento de formulario enfocado, entonces cualquier persona que use la Tecnología Asistida (AT) como un lector de pantalla deberá hacer una copia de seguridad para ver los menús y cualquier otro contenido que esté antes del campo enfocado.

Un método preferido, en mi opinión , es no establecer foco en ningún campo, excepto un enlace de salto si está disponible. Eso les da la opción de saltar al contenido de las páginas o leer la página de arriba hacia abajo.

 18
Author: Greg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-16 22:22:45

Como otros han dicho, sin Javascript no se puede garantizar un campo predeterminado. Una opción alternativa que puede querer probar, si tiene varios campos a los que un usuario puede querer acceder, es usar el atributo accesskey. Esto significará esencialmente que un usuario puede volver a cualquiera de los campos instantáneamente más tarde durante la navegación, lo que puede ser útil para los usuarios de lectores de pantalla, etc...

Wikipedias el artículo sobre este tema es bastante útil - http://en.wikipedia.org/wiki/Access_key

 3
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-16 02:16:57

Esto no es posible sin alguna forma de scripting. Incluso la página de inicio de Google requiere Javascript para enfocar el campo de búsqueda.

 0
Author: Evan Mulawski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-12 16:03:45

Puede usar el atributo tabindex y usar el valor más bajo en el cuadro de texto predeterminado. Compruebe aquí para el soporte del navegador:

Http://reference.sitepoint.com/html/object/tabindex#compatibilitysection

El sitio sugiere que

(en casi todos los demás casos, es decir, controles de formularios y enlaces, el tabindex tiene un excelente soporte)

 -8
Author: Cahit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-12 22:08:44