2011-03-09 14 views
21

मेरी रेल में 3 आवेदन, मैं निम्नलिखित की तरह एक फार्म के साथ एक दृश्य haml फ़ाइल है एक फार्म इनपुट क्षेत्र ध्यान केंद्रित करने के लिए:, जब पेज लोड

= 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 

मैं इनपुट क्षेत्र= f.text_field :carnameमें है चाहते हैं पेज लोड होने पर पर ध्यान केंद्रित करें।

यह कैसे करें? क्या jquery का उपयोग करना आवश्यक है? या फोकस करने के लिए कोई रेल रास्ता है?

+2

यह जानना अच्छा होगा कि आपने यह काम किया है और उत्तर स्वीकार कर लिया है :) – corroded

उत्तर

53

यह jQuery का उपयोग करने के लिए आवश्यक नहीं है, लेकिन यह जावास्क्रिप्ट उपयोग करने के लिए आप एचटीएमएल 5 उपयोग नहीं कर रहे, यदि आवश्यक है, लेकिन आप अभी के लिए jQuery या जावास्क्रिप्ट के साथ क्या करना होगा:

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

या

$("carname").focus(); 

with HTML5

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

एचटीएमएल 5 दृष्टिकोण पर एक चेतावनी है: वह फ़ील्ड जिसे आप ऑटोफोकस नहीं करते हैं फोकस() ईवेंट प्राप्त करें ताकि किसी भी सीएसएस स्टाइल जो आप ऑनफोकस के माध्यम से करते हैं, ऐसा नहीं होता है।

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

_ नोट: HTML5 केवल ._ –

संबंधित मुद्दे