2011-03-09 18 views
21

En mis carriles 3 aplicación, que tienen un archivo de vista haml con una forma como siguiente:cómo enfocar un campo de formulario de entrada cuando la página cargada

= form_for(:car, :url => cars_path) do |f| 
    %p 
    = f.label :carname 
    %p 
    = f.text_field :carname /focus here 
    %p 
    = f.label :carnr 
    %p 
    = f.text_field :carnr 
    %p 
    = f.submit 

Me gustaría que el campo de entrada = f.text_field :carname está en Enfoque cuando se carga la página.

¿Cómo hacerlo? ¿Es necesario usar jquery? o hay alguna forma Rails para hacer el foco?

+2

sería bueno saber que hizo este trabajo y aceptó la respuesta :) – corroded

Respuesta

53

no es necesario el uso de jQuery, pero es necesario el uso de JavaScript si no se está usando HTML5 pero tendrá que ver con jQuery o Javascript, por ahora:

document.getElementById('carname').focus(); 

o

$("carname").focus(); 

with HTML5

= f.text_field :carname, :autofocus => true 

Hay una advertencia sobre el enfoque HTML5: el campo que autofoco NO incluye obtener un evento focus() por lo que cualquier estilo de CSS que realice a través de onfocus no ocurre.

4
= form_for(:car, :url => cars_path) do |f| 
    %p 
    = f.label :carname 
%p 
    = f.text_field :carname, autofocus: true 
%p 
    = f.label :carnr 
%p 
    = f.text_field :carnr 
%p 
= f.submit 
+2

_Nota: HTML5 only._ –

Cuestiones relacionadas