Rails 3 Отправка формы с помощью Javascript вызывает ответ html вместо ответа AJAX

Когда я отправляю форму с помощью 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="&#x2713;" /><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?


person Xaxum    schedule 08.08.2011    source источник


Ответы (1)


Нашел проблему. Я думал, что отправка формы с помощью javascript отправит форму с той же опцией remote => true, но, похоже, это обходит. Мне пришлось отправить, используя новый AjaxRequest, чтобы он заработал.

person Xaxum    schedule 29.08.2011