Когда я отправляю форму с помощью Javascript, я получаю ответ html, как будто он игнорирует удаленный параметр true. Если я отправляю форму с помощью кнопки отправки, она выполняет AJAX и обновляет запрошенные элементы страницы. Так что единственное отличие кода - наличие параметра onchange
и кнопки. Вот мой код для формы:
<% form_tag('switch_car', :method => :put, :name => "switch_car", :remote => true) do %>
<div class="field">
<label>Car Name:</label>
<%= select_tag(:id, options_from_collection_for_select(active_cars, "id", "name"), :onchange => "submitForm('switch_car')", :include_blank => true)%>
</div>
<% end %>
Вот моя функция Javascript: просто отправить.
<script type="text/javascript" charset="UTF-8">
function submitForm(formname){
document.switch_car.submit();
}
</script>
Вот сгенерированный HTML:
<form accept-charset="UTF-8" action="switch_car" data-remote="true" method="post" name="switch_car"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="PEbdqAoiik37lcoP4+v+dakpYxdpMkSm7Ub8eZpdF9I=" /></div><div class="field">
<label>Car Name:</label>
<select id="id" name="id" onchange="submitForm('switch_car')"><option value=""></option><option value="9">Truck</option>
<option value="10">Car</option></select>
</div>
Кто-нибудь знает, почему отправка Javascript вызывает другой результат, чем кнопка в той же форме? Если да, могу ли я заставить отправку Javascript работать с результатом Ajax?