Версия Rails: 5.2.2
Версия Chrome: 78.0.3904.87
Во время тестирования моего сайта на Chrome сегодня я заметил, что он прокручивается в верхнюю часть страницы всякий раз, когда я отправляюAJAX запрос. Такое поведение нежелательно и не происходит в других браузерах, таких как Firefox. Я пытался отладить проблему, но не смог понять, в чем дело.
Вот как выглядит моя форма:
<div id="container">
<%= form_for(obj, method: :post, url: url, remote: true) do |f| %>
<button id="obj-<%= obj.id %>-btn" type="button" class="btn btn-primary obj-btn" title="Add" data-toggle="tooltip" data-placement="left">
Add
</button>
<% end %>
</div>
Вот мой JavaScript для отправки формы:
$("#container").on("click", "form > .obj-btn", function(e)
{
$(this).tooltip('hide');
var form = $(this).parent();
form.submit();
});
После отправки запроса на сервер контроллер запускает JavaScript в файле create.js.erb
.
Я смотрел другие потоки, которые предлагали добавить e.preventDefault()
или return false;
в обработчик отправки. , но ни один из них не работал для меня.
В чем может быть проблема? Заранее спасибо за любую помощь.