我是一个使用rails和jquery开发的新手,并且一直在寻找一个简单的例子,说明如何做好几天。我有一个页面poweroutput.html.erb
,显示特定日期的客户太阳能系统的功率输出。当他们输入不同的日期时,我希望他们看到不同的输出,但无需重新加载页面。在我的页面上,我有一些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
重新呈现。有谁知道一个简单的方法来做到这一点?
答案 0 :(得分:0)
如果是很多javascript,那么:
通过这种方式,浏览器将从缓存javascript中获益,减少服务器的负载和页面的下载时间。