当前位置: 首页 > 知识库问答 >
问题:

如何用JavaScript隐藏引导模式?

乐刚毅
2023-03-14

我读了这里的帖子,我的Bootstrap网站,并且疯狂地搜索--但是找不到我确信是一个简单的答案。

我有一个从link_to帮助器打开的引导模式,如下所示:

<%= link_to "New Contact", new_contact_path, {remote: true, 'data-toggle' => 'modal', 'data-target' => "#myModal",  class: "btn btn-primary"} %>

在我的ContactsController.create操作中,我的代码创建Contact然后传递到create.js.erb。在create.js.erb中,我有一些错误处理代码(ruby和javascript的混合)。如果一切顺利,我想关闭模态。

这就是我遇到麻烦的地方。当一切顺利时,我似乎不能放弃模态。

我尝试了$('#MyModal').Modal('hide');,但没有效果。我还尝试过$('#MyModal').hide();,这会使模态消失,但会留下背景。

关于如何从create.js.erb中关闭模式和/或取消背景的指导?

编辑

下面是MyModal的标记:

<div class="modal hide" id="myModal" >
  <div class="modal-header">
    <a class="close" data-dismiss="modal">×</a>
    <h3>Add Contact</h3>
    <div id="errors_notification">
    </div>
  </div>
  <div class="modal-body">
    <%= form_for :contact, url: contacts_path, remote: true do |f| %>  
      <%= f.text_field :first_name, placeholder: "first name" %>
      <%= f.text_field :last_name, placeholder: "last name" %>
      <br>
      <%= f.submit "Save", name: 'save', class: "btn btn-primary" %>
      <a class="close btn" data-dismiss="modal">Cancel</a>
    <% end %>
  </div>
  <div class="modal-footer">
  </div>
</div>

共有2个答案

习狐若
2023-03-14

要关闭引导模式,您可以将“hide”作为选项传递给模式方法,如下所示

$('#modal').modal('hide');

请看一下这里的工作小提琴

bootstrap还提供了可以与模式功能挂钩的事件,例如,如果您希望在模式完成对用户隐藏时激发事件,您可以使用hidden.bs.modal事件您可以在文档中阅读关于模式方法和事件的更多信息

如果上面的方法都不起作用,给你的关闭按钮一个id并触发点击关闭按钮。

金承嗣
2023-03-14

当模式在浏览器窗口中打开时,使用浏览器的控制台尝试

$('#myModal').modal('hide');

如果它工作(并且模式关闭),那么您就知道close Javascript没有正确地从服务器发送到浏览器。

如果它不起作用,那么您需要在客户端上进一步调查正在发生的事情。确保没有两个元素具有相同的ID。它在页面加载后第一次起作用,但第二次不起作用吗?

浏览器的控制台:firefox的firebug,Chrome或Safari的调试控制台等。

 类似资料:
  • 我尝试了下面的代码在移动和桌面上以不同的方式显示。但是两个句子同时显示。

  • 问题内容: 我想在JavaScript中隐藏Android虚拟键盘。 但是,如果键盘已经可见,这将不起作用。这是可以做到的吗? 问题答案: 您需要做的是创建一个新的输入字段,将其附加到正文中,对其进行聚焦并使用进行隐藏。不幸的是,您将需要将它们包含在一些setTimeouts中,以使其正常工作。

  • Visual Studio 2013引入了一个新功能,它可以显示每个方法的使用次数。 我不觉得它很有用,而且它弄乱了我文件的间距。如何禁用它?似乎找不到选择。

  • 求一个插件或者json setting能够在打开项目的时候隐藏每个js文件最上面的一大堆imports. 主要是前端。 后端的引用还好,主要是前端引用一堆组件库的东西,太长了,有点烦人。 感谢了~

  • 我有一个页面,在3列中显示6个引导卡。每个引导卡显示图像、名称、描述和页脚按钮。当用户单击引导卡页脚按钮时,将打开一个引导模式,该模式按ID显示Sql行数据并进入该引导模式,该模式有2个输入和一个textarea表单,如下所述: 为了打开带有尊重ID的Modal,我在按钮卡代码中插入了一个PHP代码,如下所示: 其中

  • 我在vuejs项目的中导入了bootstrap和jquery。像这样 在我的另一个组件中,有一个模型。我希望它在我成功地发出网络请求时关闭。 在上面的模型中,如果按yes,它将在method属性上激发