在javascript事件上触发窗体

在javascript事件上触发窗体,javascript,ruby-on-rails,wistia,Javascript,Ruby On Rails,Wistia,我对ruby和rails有很好的理解,但缺乏javascript方面的知识。我想做的是跟踪用户何时完成观看视频 我正在使用wistia,目前我的代码如下所示: :javascript wistiaEmbed = Wistia.embed("#{@chapter.video_id}", { autoPlay: true, videoFoam: true, playerColor: '000000' }); wistiaEmbed.bind("end", func

我对ruby和rails有很好的理解,但缺乏javascript方面的知识。我想做的是跟踪用户何时完成观看视频

我正在使用wistia,目前我的代码如下所示:

:javascript
  wistiaEmbed = Wistia.embed("#{@chapter.video_id}", {
    autoPlay: true,
    videoFoam: true,
    playerColor: '000000'
  });
  wistiaEmbed.bind("end", function () {
    document.getElementById('target').style.display = 'none';
    document.getElementById('finished').style.display = 'block';
  });
我希望完成的是为我的chapter_完成模型调用创建操作。在视频的“结尾”接受用户id和章节id

因此,我可以通过以下方式使这项工作以某种形式进行:

form_for current_user.chapter_completions.new do |f|
 f.hidden_field :chapter_id, value: @chapter.id
 f.submit
end

但是,我希望在wistia视频结束时在后台自动提交此文件。

好的,可以!现在,如果我能补充一些东西。我希望表单不可见,但仍保存数据。此外,在rails中,创建需要重定向或刷新。我怎样才能避免这种情况?我只想停留在同一个页面上,不让表单可见。如果不想重定向,请使用AJAX;如果有jQuery,请访问其他网站,使用AJAX的本机javascript实现
 wistiaEmbed.bind("end", function () {
    document.getElementById('target').style.display = 'none';
    document.getElementById('finished').style.display = 'block';
    document.getElementById('formID').submit(); // or
    //document.getElementsByName('formName').submit();
  });