Отправить простую форму удаленно на основе события клика - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь создать приложение todo, в котором флажок создается с помощью простой формы, и его необходимо отправить удаленно, когда флажок установлен. Я использую функцию onchange (), но форма не отправляется удаленно. Это отправка через полное обновление страницы.

Когда кнопка отправки включена, она отправляет форму удаленно, и все работает нормально. Но я не могу заставить его работать без кнопки отправки, но только с помощью флажка.

_goal.html.erb

<li id='<%= "Goal_li_#{goal.id}" %>'>
  <div class="collapsible-header"  tabindex="0">
    <label>
      <%= simple_form_for(goal, url:goal_path(goal),remote: true,authenticity_token: true) do |f| %>
        <%= f.check_box :is_complete,onchange: 'this.form.submit();', disabled:goal_disabled_class(goal), class: "check_box_check" %>
        <span class=<%= "line-through-goal" if goal.is_complete==1 %>>
          <%= goal.title %>-<%= goal.id %>-<%= goal.status %>
        </span>

        <%= "<span class='new badge blue right'> #{goal.sub_goals.where(is_complete: 0).count} </span>".html_safe if goal.sub_goals.where(is_complete: 0).count > 0  %>
      <% end %>
    </label>
  </div>
</li>

Это приводит к обновлению страницы вместоотправка формы удаленно. Все примеры, которые я нашел для работы, используют кнопку отправки. Как я могу инициировать удаленное выполнение на основе щелчка флажка?

1 Ответ

0 голосов
/ 15 октября 2019

Из-за rails-ujs оно отправляется с помощью обычного запроса HTML. Связанные проблемы и ответы .

Попробуйте выполнить следующие действия:

onchange: 'Rails.fire(this.form, "submit")'
...