客户端不会发送带有disabled
属性的表单输入。
但由于某些原因,#id_of_first_div
和#id_of_second_div
正在发送,尽管在#challenge_category_one-shot
和#challenge_category_ongoing
之间切换了单选按钮。
<%= form_for(@challenge) do |f| %>
<%= f.text_field :action %>
<% Challenge::CATEGORY.each do |c| %>
<%= label(c, c) %>:
<%= f.radio_button(:category, c, :class => "date-format-switcher", checked: (c=='One-Shot')) %>
<% end %>
<div id='id_of_first_div'>
<%= f.date_select :deadline %>
</div>
<div id='id_of_second_div'>
<%= f.date_select :date_started %>
</div>
<% end %>
<script>
$(function(){
$('#id_of_second_div').hide();
$('#challenge_category_one-shot').click(function(){
$('#id_of_first_div').show().attr('disabled', false);
$('#id_of_second_div').hide().attr('disabled', true);
});
$('#challenge_category_ongoing').click(function(){
$('#id_of_first_div').hide().attr('disabled', true);
$('#id_of_second_div').show().attr('disabled', false);
});
});
</script>
<input class="date-format-switcher" type="radio" value="One-Shot" checked="checked" name="challenge[category]" id="challenge_category_one-shot" />
<input class="date-format-switcher" type="radio" value="Ongoing" name="challenge[category]" id="challenge_category_ongoing" />
答案 0 :(得分:1)
“具有禁用属性的表单输入不会被客户端发送。” &lt; = 这不正确。
“已禁用” NOT 表示“不发送到服务器”。这意味着“不允许用户与之交互”。
如果您希望不将值发送回服务器,则需要从树中删除该元素。