【发布时间】:2017-10-31 16:11:45
【问题描述】:
我正在与 RubyonRails 的 Active Storage 合作,似乎在提交表单时会执行某些 JavaScript 事件(至少这是我的理解),我正在尝试监听这些事件。
我的表单很简单,只有一个输入字段和图像字段
<%= form_with(model: to_do, local: true, id: 'image_form') do |form| %>
<div class="field">
<%= form.label :title %>
<%= form.text_field :title, id: :to_do_title %>
</div>
<div class="field">
<%= form.label :image %>
<%= form.file_field :image, direct_upload: true %><br>
</div>
<div class="actions">
<%= form.submit id: 'submit_button' %>
</div>
<% end %>
在application.js 文件中,我添加了以下代码来测试会发生什么,但不幸的是我的尝试都不起作用
addEventListener("direct-upload:initialize", doSomething, false);
function doSomething(e) {
alert("Event is called: " + e.type);
}
document.getElementById("image_form").addEventListener("direct-upload:initialize", function() {
console.log('direct-uploads:initialize')
});
document.getElementById("image_form").addEventListener("direct-uploads:end", function() {
console.log('direct-uploads:start')
});
当我提交表单时,虽然数据已保存在数据库中,但我的事件监听器没有监听事件,因为我没有收到任何警报。
所以我的问题是
表单提交时如何监听这些Active Storagejavascript事件?
任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails rails-activestorage