我是一個使用rails和jquery開發的新手,並且一直在尋找一個簡單的例子來說明如何做到這一點。我有一個頁面,poweroutput.html.erb
,顯示特定日期客戶的太陽能系統的功率輸出。當他們輸入不同的日期時,我希望他們看到不同的輸出,但不必重新加載頁面。在我的網頁我有一些JavaScript,以及一個形式(提交日期,用戶希望看到的功率輸出)如下:當使用rails和jquery提交表單時重新呈現javascript
<head>
<script type="text/javascript">
// a lot of javascript
</script>
</head>
<% 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 "Go" %>
<% end %>
所有我想要的是我的網頁上的JavaScript是表單提交時重新呈現。我的頁面的控制器操作是目前如下:
def poweroutput
# some code
if request.xhr?
@date = params[:dt] # dt is posted when form is submitted
else
@date = Time.now.getlocal.strftime("%d.%m.%Y")
end
respond_to do |format|
format.html
format.js
end
end
所有我想要的是我的網頁上的JavaScript來重新呈現了不同的@date
我提交表單時。有誰知道一個簡單的方法來做到這一點?
你爲什麼要這麼做?當表單提交時或用戶更改值時,您是否確實要調用JavaScript函數?現在表單上是否有任何JS,並且您在使用jQuery? –
該頁面顯示特定日期客戶太陽能系統的功率輸出。當他們輸入不同的日期時,我希望他們看到不同的輸出,但不必重新加載頁面。對不起,我會嘗試編輯我的問題以使其更清楚。 – pitachip