2010-11-05 103 views
0

我試圖使用afterfinish回調在原型的效果後設置文本字段的焦點,我沒有得到這個JavaScript的權利。rails和原型問題

有人可以幫助我嗎?

<%= link_to_function "Enter Data" do |page | 
     page.visual_effect :appear , 'section1', 
      :afterFinish => "document.getElementById('name').focus()" 
    end %> 

<div id="section1" style="display:none;"> 
     <%= label_tag 'Your Name' %> 
     <%= text_field_tag 'name', '', :size => 20 %> 
</div> 

回答

0

如果你想使用的原型方法focus()你應該做這樣的:

<%= link_to_function "Enter Data" do |page | 
     page.visual_effect :appear , 'section1', 
      :afterFinish => "Form.Element.focus('name')" 
    end %> 
+0

謝謝!但我得到這個錯誤 this.options [eventName]不是函數 任何想法爲什麼?感謝您的幫助 – user16455 2010-11-05 23:43:02

+0

聲明afterFinish的值如下: afterFinish:callToYourFunction 而不是: afterFinish:callToYourFunction() – Sander 2012-04-24 09:23:17

1

這對我來說

page.visual_effect :appear, 'section1', :afterFinish => "function(){$('name').focus()}" 

什麼作品這是RJS其中的限制你不能像喬丹所建議的那樣插入原型方法,相反你必須把原始的js。

希望這可以幫助別人。