У меня есть форма с формой, я хочу отправить данные по Ajax remote: true request.
Что работает: - когда я нажимаю кнопку подтверждения, все в порядке, я получить окно с предупреждением (это то, что я положил в свой файл js .erb)
Что не работает: - у меня есть форма поиска со многими полями, я хочу отправить форму при изменении любого из полей. Без ajax работает нормально, код "onchange =" this.form.submit (); " работает отлично. Но когда я использую Ajax, this.form.submit () все еще перезагружается страницы.
Ожидаемые результаты: - Когда я изменяю любое поле, он будет отправлять данные без перезагрузки страницы. Если это возможно, я хочу избегать обычного Ajax и использовать remote: Истинный метод form_with.
Что я пробовал - я использовал много jquery вариантов, например:
this.form.submit();
$('#id_of_submit_button').click(); // it works but i want to make it without using submit button
$(this).closest("form").submit();
Мой код:
show. html .erb
<%= form_with(url: "/cars/" + @car.id.to_s + "#formcarsection", id: "filterform", remote: true, method: "get") do |f| %>
<%= f.text_field :vin, onchange: "this.form.submit();", class: "form-control" %>
<input type="submit" id="submitbtn" value="Count" class="car__submit-btn">
<%= end %>
cars_controller. html .erb
def show
respond_to do |format|
format.html
format.js { render 'cars/show.js.erb' }
end
end
cars / show. js .erb
alert("Hello! I am an alert box!!");