2010-11-12 15 views
134

¿Es posible ajustar el foco de entrada predeterminado en un formulario HTML sin necesidad de utilizar JavaScript, por ejemplo:defecto formulario HTML foco sin JavaScript

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

quiero fijar el foco por defecto a 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).

Respuesta

235

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

HTML5 permite añadir autofocus a su elemento de formulario, por ejemplo:

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

Esto funciona en los navegadores que soportan HTML5 (o mejor dicho, los navegadores que soportan esta parte de HTML5) pero como usted sabe, no todos pueden usarlo todavía

+8

Soporte del navegador: Opera, Safari y Chrome. Firefox lo tendrá en la versión 4. IE no lo admite, el soporte futuro en IE9 es actualmente desconocido. –

+0

Funciona a la perfección, Gracias –

+3

[Soporte de navegador en la actualidad] (http://caniuse.com/#search=autofocus). –

0

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

+0

Lo es. Google solo agrega JavaScript para aquellos navegadores que no son compatibles con HTML5. Algo que vale la pena considerar en cualquier aplicación. – mvbrakel

-8

Es posible que pueda utilizar el atributo tabindex y usar el valor más bajo en el cuadro de texto predeterminado. Compruebe aquí para soporte de los navegadores:

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

El sitio sugiere que

(en casi todos los demás casos, es decir, controles de formulario y enlaces -el índice de tabulación tiene un excelente soporte)

+3

El atributo "tabindex" no da un enfoque automático a ningún elemento, ni siquiera un elemento con "tabindex = 1". Presionando (o un clic) es necesario dar enfoque al primer elemento en la secuencia de pestañas. –

3

Como han dicho otros, sin Javascript no puede garantizar un campo predeterminado. Es posible que desee probar una opción alternativa, si tiene varios campos a los que un usuario podría querer acceder utilizando el atributo accesskey. En esencia, esto significará que un usuario puede volver a cualquiera de los campos instante más tarde, durante la navegación, lo que puede ser útil para los usuarios de lectores de pantalla, etc ...

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

17

Algo a tener en cuenta ... si configura un elemento de formulario enfocado, cualquiera que use 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 el foco en ningún campo, excepto un skip-link 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.

+0

Agregar un skip-link que también está visualmente oculto, pero accesible a través de lectores de pantalla sería genial. –

Cuestiones relacionadas