Javascript 部分运行JS的Rails
当我呈现一个html.erb部分时,div会显示在屏幕上,但javascript没有启动,如何让javascript运行 控制器渲染Javascript 部分运行JS的Rails,javascript,ruby-on-rails,Javascript,Ruby On Rails,当我呈现一个html.erb部分时,div会显示在屏幕上,但javascript没有启动,如何让javascript运行 控制器渲染 render partial: 'success', status: 200 部分_success.html.erb <div class="js-hide notification is-primary mb-16"> Success! </div> <script language="java
render partial: 'success', status: 200
部分_success.html.erb
<div class="js-hide notification is-primary mb-16">
Success!
</div>
<script language="javascript" type="text/javascript">
document.addEventListener("turbolinks:load", () => {
alert('this should run');
setTimeout(function() {
$(".js-hide").hide();
}, 5000);
})
</script>
输入表格
<div class="mb-24" data-controller="form">
<p data-target="form.status"></p>
<%= form_with(model: email_follow, url: form_path(event),
data: { action: 'ajax:success->form#success
ajax:error->form#error', target: 'form.form' }
) do |form| %>
<div class="field has-addons">
<div class="control">
<%= form.text_field :name, class: 'input', data: { target: 'form.input' } %>
</div>
<div class="control">
<%= form.submit 'Submit', class: 'button is-info' %>
</div>
</div>
<% end %>
</div>
结果:
最后将js代码添加到我的刺激控制器中通常,您会看到一个处理程序。“你调查过了吗?”@jvillian想得好,不过什么都没有发射,即使是警报,你用的是涡轮链接吗?如果是这样,您将需要使用Turbolinks事件处理程序。@jvillian yes使用Turbolinks和刺激来查看表单输入,将表单添加到question@jvillian不知道为什么js不能运行,我找到了一个解决方案,将js添加到刺激控制器中,效果很好。。谢谢你调查这件事
<div class="mb-24" data-controller="form">
<p data-target="form.status"></p>
<%= form_with(model: email_follow, url: form_path(event),
data: { action: 'ajax:success->form#success
ajax:error->form#error', target: 'form.form' }
) do |form| %>
<div class="field has-addons">
<div class="control">
<%= form.text_field :name, class: 'input', data: { target: 'form.input' } %>
</div>
<div class="control">
<%= form.submit 'Submit', class: 'button is-info' %>
</div>
</div>
<% end %>
</div>