我有一个报告页面的日期范围选择器,它使用jQueryUI的datepicker。我有两个字段用于开始日期,两个字段用于结束日期:
<%= form_tag stats_path, :method => 'get', :id => "date-range" do %>
<%= hidden_field_tag :start_date %>
<%= text_field_tag :start_date_display %>
<%= hidden_field_tag :end_date %>
<%= text_field_tag :end_date_display %>
<%= submit_tag "Run it!" %>
<% end %>
目前,正如预期的那样,所有4个字段都作为参数添加到查询字符串中,但我只希望将隐藏字段发送到服务器。文本字段仅用于在用户选择日期时以用户友好格式(例如,5月5日)显示日期。
有没有办法排除它们?
我无法使用:disabled => true
来排除它们,因为它会使控件无法使用。
(我喜欢在查询字符串中设置日期范围,以便您可以轻松链接到给定范围的报告。)
答案 0 :(得分:1)
以下是我使用CoffeeScript解决问题的方法:
$('#date-range').submit ->
$(this).find('input[id*="display"]').each ->
$(this).remove()
但@StuR提出的更好的解决方案是为name
属性设置一个空值:
<%= form_tag stats_path, :method => 'get', :id => "date-range" do %>
<%= hidden_field_tag :start_date %>
<%= text_field_tag :start_date_display, '', :name => nil %>
<%= hidden_field_tag :end_date %>
<%= text_field_tag :end_date_display, '', :name => nil %>
<%= submit_tag "Run it!" %>
<% end %>