Я отображаю форму поиска в Rails 5.2.2 и имею логику, которая определяет, должен ли запрос быть запросом AJAX или запросом HTML.Вот как выглядит моя форма:
<form id="form" action="/search" data-prev-query="test" data-remote="true" method="get">
<input type="text" name="q" id="search_query" value="test">
</form>
Если поисковый запрос отличается от атрибута data-prev-query
в форме, я хотел бы, чтобы отправка формы была HTML-запросом, чтобы она перезагрузиласьстраница.В противном случае, я бы хотел, чтобы отправка формы была AJAX-запросом.Вот моя логика для программного удаления свойства data-remote
из формы:
$("#form").find("#search_query").change(function(e)
{
var theForm = $("#form");
var currentSearchQuery = theForm.find("#search_query").val();
var prevSearchQuery = theForm.data("prev-query");
var isRemote = (currentSearchQuery === prevSearchQuery);
if (isRemote === true)
theForm.attr('data-remote', isRemote);
else
theForm.removeAttr('data-remote');
});
Я подтвердил, что этот код удаляет или добавляет атрибут data-remote
, как и ожидалось.Однако даже если атрибут data-remote
удален, форма по-прежнему отправляется в виде AJAX-запроса.
Как получить форму для отправки в виде запроса HTML?Кстати, я не использую Turbolinks.