Rails 3 Отправка формы с помощью javascript вызывает ответ html вместо ответа AJAX - PullRequest
1 голос
/ 08 августа 2011

Когда я отправляю форму с помощью 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-результатом?

Спасибо,

1 Ответ

0 голосов
/ 29 августа 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...