在 javascript 事件上触发表单

Trigger a form on javascript event

我对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_completion 模型调用创建操作。在视频的 'end' 处接受 user_id 和 chapter_id。

所以我可以通过以下方式使这项工作成为一种形式:

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

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

 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();
  });