В моем приложении rails я присоединяю событие onsubmit к своей форме, используя jquery, например:
$("form.my_form").submit(function(){
alert("test")
return true;
});
Это работает нормально, когда я вручную открываю страницу и отправляю форму (нажимая на кнопку отправки) - я вижу предупреждение "test"
НО у меня есть тест Capybara (поверх Selenium), который загружает страницу, заполняет некоторые значения в форме, а затем нажимает кнопку «Отправить».
И функция НЕ срабатывает.
Примечание 1: при запуске теста форма действительно отправляется, новые значения записываются в БД и т. Д., Поэтому не возникает проблем с нажатием самой кнопки отправки
Примечание 2: если вместо jquery, в представлении rails в теге form_for
я поставлю
html: {onsubmit: "onsubmitfunc();"}
с предупреждением в onsubmitfunc () - все работает как положено в тесте на капибару
Примечание 3: для работы jquery файл js откладывается, например ::11016*
<%= javascript_include_tag 'application', defer: true %>
Я очень новичок в JQuery, поэтому я совершаю там что-то преступное?
Или у Капибары есть какие-то проблемы? с отложенной загрузкой файла JS? Или с помощью JQuery? Есть идеи?