【问题标题】:Bootstrap modal opening on second click / modal inside modalBootstrap 模态在第二次单击/模态内部打开
【发布时间】:2015-09-04 07:41:11
【问题描述】:

我有两个模态,一个在另一个里面。第一个模式包含一个表单,在提交时我希望打开另一个带有消息的模式。我用 Bootstrap 做了这个。 单击此按钮时会打开第一个模式:

<button class="contact-button" data-toggle="modal" data-target="#contact-modal">Contactează-ne</button>

这是第一个模态:

<div id="contact-modal" class="modal fade" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Contactaţi-ne</h4>
      </div>

      <div class="modal-body">

        <form id="contact-form">
          <div class="col-md-12">
            <h4>Numele Dvs *</h4>
            <input type="text" name="name" value="" placeholder="">
          </div>
          <div class="col-md-6">
            <h4>Email *</h4>
            <input type="text" name="email" value="" placeholder="johndoe@yahoo.com">
          </div>
          <div class="col-md-6">
            <h4>Telefon *</h4>
            <input type="text" name="tel" value="" placeholder="+40******">
          </div>
          <div class="col-md-12">
            <h4>Mesaj *</h4>
            <textarea></textarea>
          </div>
          <div class="col-md-12"><h6>*câmpurile sunt obligatorii</h6></div>
          <div class="col-md-12 call">
           <button>Trimite Mesaj</button>
          </div> 
        </form>
      </div> 
    </div>
  </div>
</div>

提交时,第二个模式打开,我希望第一个模式在发生这种情况时关闭。我用这个脚本实现了这一点:

$('form#contact-form').submit(function(e){
    e.preventDefault();
    $('#call-answer').modal();
    $('#contact-modal').hide(); // first modal closes
})

#call-answer是第二个modal,也是用Bootstrap做的,我只手动打开。因此,当页面加载一切正常时,我单击按钮,联系表单以模式打开,提交时关闭并打开第二个模式。现在的问题是,如果我再次单击打开联系表单模式的按钮,直到我单击两次才会打开。我知道问题与我的脚本有关,因为如果我删除该行

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

一切正常。有没有人更好地了解如何在第二个模式打开时关闭第一个模式?或者我该如何解决这个问题?谢谢

【问题讨论】:

  • 你的第二个模态在哪里? #call-answer?你说它在第一模态里面?
  • 好吧,当第一个模式内的表单上有提交时它会打开,我认为标记不相关
  • 标记是相关的,因为您在另一个模态中拥有一个模态..

标签: jquery twitter-bootstrap modal-dialog


【解决方案1】:

问题出在这行$('#contact-modal').hide();

在使用插件时不要使用hide

使用这条线$('#contact-modal').modal('hide');

Demo

Reference

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    • 2017-01-06
    • 2020-01-08
    相关资源
    最近更新 更多