Rails 6 Bootstrap 4 Modal在提交时未关闭

Posted

技术标签:

【中文标题】Rails 6 Bootstrap 4 Modal在提交时未关闭【英文标题】:Rails 6 Bootstrap 4 Modal not closing on submit 【发布时间】:2021-05-31 05:28:35 【问题描述】:

Open Modal 工作正常,但不是 close modal。 这是我的文件:

client.haml(客户端布局)

= link_to t('.mail to admin'), blame_path(@admin), remote: true  

routes.rb

get  "blame/:admin",     to: 'pages#blame', as: 'blame'

blame.js.erb

$('#blamepoint').html("<%= j(render 'blame') %>");
$('#blame').modal('toggle');

_blame.haml

.modal#blame.fade.hidetabindex: "-1"
  = form_with(url: admin_notify_path(@admin), method: "get", id: 'blameform') do
    .modal-dialog
      .modal-content
        .modal-header
          %h5.modal-title Send a message to vote admin
          %button.close"aria-label" => "Close", "data-dismiss" => "modal", type: "button"
            %span"aria-hidden" => "true" ×
        .modal-body
          .form-group
            = label_tag :message
            = text_field_tag :message, '', class: 'form-control'
            %small.form-text.text-muted This text will not be published.
        .modal-footer
          %button.btn.btn-secondary"data-dismiss" => "modal", type: "button" Close
          = submit_tag 'Send to admin', id: 'foo', class: 'btn btn-primary', 'data-toggle' => 'modal'

Javascript

$(document).on("click", '#foo', function(event)  
  console.log("link clicked");
  $('#blame').modal('toggle');
);

console.log("link clicked"); 正在工作,文本出现在控制台中。

我已经考虑过的一些资源: bootstrap modal popup not closing [https://***.com/questions/16598213/how-to-bind-events-on-ajax-loaded-content][2] [https://***.com/questions/52797328/rails-bootstrap-modal-not-closing][3]

【问题讨论】:

【参考方案1】:

经过漫长的搜索,反复试验,我发现application.js 中的以下 jQuery 插件导致引导模式无法正常工作:

import "tablednd/js/jquery.tablednd"

一旦被注释掉,模态就会按预期工作。 现在将寻找另一种解决方案。希望这可以防止其他人浪费宝贵的时间(几周)来解决这种“愚蠢”的错误。

一个问题:使用 jQuery-Plugins 需要小心吗?

【讨论】:

以上是关于Rails 6 Bootstrap 4 Modal在提交时未关闭的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap Modal 未关闭数据关闭(Rails)

动态构建 Twitter Bootstrap modal

使用 Webpack 在 Rails 6 上设置 Bootstrap 4.3

Ruby on Rails 6. 使用带有 Ajax 的 Bootstrap 4 工具提示

如何在 Rails 6 中进行 Stateful Bootstrap 4 Tab Navigation

Bootstrap 4 .modal('hide') 不工作