我正在開發Rails 3.0.3並使用jQuery。這是我的javascipt的包括標籤:爲什麼我的表單被處理爲HTML請求而不是JS?
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", "rails.js" %>
我想在一個下拉的變化發送JS請求,並寫了下面的代碼這樣做。這種形式並沒有得到處理的JS,但得到處理爲HTML請求,而不是:
<% form_tag(aggregatedata_path, :method=>'post', :id => "dd-container", :remote => true) do %>
<%= select_tag(
:group,
options_for_select(groups_list, @group),
{
:id => "dd",
:onchange => "this.form.submit();"
}) %>
<% end %>
我讀了SO類似的帖子,暗示這個問題是JS庫,但除非有沒有其他辦法,我'寧願避免在這一點上改變這種情況,以免其他一些事情破裂。我有另一個表單,作爲JS請求處理就好了。那就是:
<% form_tag(poweroutput_path, :method=>'post', :id => "date-form", :remote => true) do %>
<%= text_field_tag(
'dt', nil,
{
:id => 'date-field',
:class => 'dateformat-d-dt-m-dt-Y',
:value => Time.now.getlocal.strftime("%d.%m.%Y")
}) %>
<%= submit_tag " ", :id => "go-button" %>
<% end %>
唯一明顯的區別我看到的是第一個使用:onchange => "this.form.submit();"
而第二個則沒有。在那個函數中有什麼東西會覆蓋我以前的:remote => true
?
非常感謝!我對這一切都很陌生,並且主要是使用爲我做所有工作的鐵軌助手,但讓我想知道發生了什麼。像這樣的例子真的很有幫助! – pitachip