代码之家  ›  专栏  ›  技术社区  ›  Jeni

水豚防止附着在提交事件上形成

  •  0
  • Jeni  · 技术社区  · 6 年前

    在我的rails应用程序中,我使用jquery将onsubmit事件附加到表单中,如下所示:

    $("form.my_form").submit(function(){
       alert("test")
       return true;
     });
    

    但是我有一个水豚测试(通过Selenium),它加载页面,在表单中填充一些值,然后单击submit。 并且不会触发该功能。

    注意2:如果不是jquery,则在 form_for

    html: {onsubmit: "onsubmitfunc();"}
    

    注3:为了让jquery方式工作,js文件是延迟加载的,例如:

    <%= javascript_include_tag 'application', defer: true %>
    

    我对JQuery非常陌生,所以我在那里做了什么犯罪的事情吗? 或者水豚有什么问题?延迟加载JS文件?还是使用JQuery?有什么想法吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Thomas Walpole    6 年前

    由于您使用的是Selenium,最常见的原因是您的JS资产中有一个错误。在dev环境中,所有JS资产都在不同的文件中提供,这意味着一个文件中的错误不会阻止其他文件的处理。在测试环境(和生产环境)中,资产被连接到一个文件中,这意味着任何文件中的错误都可能导致连接后的资产无法处理。

    检查浏览器控制台日志中的任何JS错误并修复它们。