我有一个页面poweroutput.html.erb,其控制器操作如下:
def poweroutput
# other stuff here...
if (request.xhr?)
@date = :date
respond_to do |format|
format.html
end
else
@date = Time.now.getlocal.strftime("%d.%m.%Y")
end
end
else
子句在加载页面时执行正常。我希望在我的poweroutput.html.erb中更改文本字段元素时执行if
子句,如下所示:
<%= text_field_tag(
'dt', nil,
{ :id => 'date-field',
:class => 'dateformat-d-dt-m-dt-Y',
:value => Time.now.getlocal.strftime("%d.%m.%Y"),
:onchange => remote_function(
:url => {:controller => 'pages', :action => 'poweroutput'}, :with => "'date=' + $('date-field').value"),
})
%>
所以我想在文本字段的更改上发生的是:(1)控制器动作,poweroutput,要调用,(2)将此文本字段的内容分配给控制器中的@date实例变量动作和(3)javascript(位于poweroutput.html.erb中的脚本标签内)要重新渲染(即使是正确的单词重新渲染?)。我甚至不确定我是在正确的道路上。请告诉我是否有更好的方法来做到这一点。您在上面看到的非功能性代码只是两天谷歌搜索的产物。任何帮助将不胜感激。
答案 0 :(得分:0)
正如我在remote_function
中注意到的那样,您没有指定要替换的元素。
更多信息在这里http://apidock.com/rails/ActionView/Helpers/PrototypeHelper/remote_function