Rails AJAX вызывает очистку входных данных формы - PullRequest
0 голосов
/ 19 мая 2019

После успешного создания записи через AJAX форма рельсов остается на месте с данными, которые использовались для создания новой записи.

вызов формы

<%= form_with model: Usercontent.new, data: {'js-usercontent-form' => true} do |form| %>

<form data-js-usercontent-form="true" action="/usercontents?locale=en" accept-charset="UTF-8" data-remote="true" method="post">

Попыткасбросить форму без данных через reset

$(document).on('turbolinks:load', function() {
  $('[data-js-usercontent-form]').on("ajax:success", function(event, data, status, xhr){
    var usercontent = $(xhr.responseText).hide();
    $('#usercontents').append(usercontent);
    usercontent.fadeIn(1000);
    document.getElementById('data-js-usercontent-form').reset();
  });

  $('[data-js-usercontent-id]').on("ajax:success", function(event, data, status, xhr){
    var usercontent_id = xhr.responseJSON.id;
    $('[data-js-usercontent-id=' + usercontent_id + ']').hide();
  });
});

, к сожалению, не удается.Существует несколько полей, и поэтому вопрос заключается в том, существует ли способ очистить все поля до состояния по умолчанию (пустое или пустое) update при сохранении целостности блока уничтожения?

1 Ответ

1 голос
/ 20 мая 2019

Итак, похоже, что вы нацеливаетесь на форму с ID="data-js-usercontent-form", но в отображаемом HTML я не вижу этого идентификатора. Вы указываете, что пользовательское содержимое работает, но оно нацелено на другой элемент.

Пожалуйста, измените вызов, чтобы создать форму:

<%= form_with model: Usercontent.new, id: 'data-js-usercontent-form', data: {'js-usercontent-form' => true} do |form| %>

Эта ошибка должна была быть зарегистрирована в консоли инструментов разработчика, я всегда советую проверять ее на случай возникновения проблем с JS.

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