Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 部分运行JS的Rails_Javascript_Ruby On Rails - Fatal编程技术网

Javascript 部分运行JS的Rails

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

当我呈现一个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="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>