javascript - 每次点击后的确认模式。第一次有效,然后失败。 (模态上的模态)

标签 javascript jquery twitter-bootstrap

我正在使用 Bootstrap 启动选择模式,然后启动表单模式,最后在用户单击发送后启动确认模式。

这第一次工作正常,但是之后,确认模式不会弹出,它只是简单地退出。

这是我的代码:

HTML:

<button type="button" class="btn" data-toggle="modal" data-target="#chooseModal">Open</button>

<!-- Select One Modal -->
<div class="modal fade" id="chooseModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h2 class="modal-title" id="myModalLabel">Select An Option</h2>
      </div>
      <div class="modal-body">
        <button type="button" class="btn" data-toggle="modal" data-target="#myForm">Click to Email</button>
        <button type="button" class="btn" data-toggle="modal" data-target="#chooseModal">Click to Do Something Else</button>
      </div>
    </div>
  </div>
</div> 

<!-- Email Form Modal-->
<div class="modal fade" id="myForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Email</h4>
      </div>
      <div class="modal-body">

        <div class="row">
            <div class="col-xs-12" id="emailInput">
                <h4>To:</h4>
                <input type="text" name="email" id="email"> 
            </div>
            <div class="col-xs-12">
                <h4>Subject:</h4>
                <input type="text" value="subject" name="emailSubject" id="emailSubject"> 
            </div>
            <div class="col-xs-12">
                <h4>Body:</h4>
                <textarea rows="4" id="emailBody"></textarea>
            </div>
            <div class="col-xs-1">
                <button onclick="confirmAlert()" type="button" class="btn" data-toggle="modal" data-target="#myForm">Send</button>
            </div>
        </div>

      </div>
    </div>
  </div>
</div>


<!-- Confirmation Modal -->
<div class="modal fade" id="PDFconfirmation" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h2 class="modal-title" id="myModalLabel">Thank You!</h2>
      </div>
      <div class="modal-body">
        <h2>Your message has been sent.</h2>
      </div>
    </div>
  </div>
</div>  

Javascript:

function confirmAlert(){ 

    $(".modal, .modal-backdrop").hide();

    $('#PDFconfirmation').modal('show');

    setTimeout(function(){
        $("#PDFconfirmation, .modal, .modal-backdrop").hide();
    }, 2000);

}

最佳答案

您应该将 JS 代码更改为:

function confirmAlert(){ 

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

  $('#PDFconfirmation').modal('show');

  setTimeout(function(){
    $("#PDFconfirmation").modal('hide');
  }, 2000);

}

但是,您可以改进此代码,但现在您可以更好地了解应该如何切换(显示/隐藏)模态以防止此类错误。

关于javascript - 每次点击后的确认模式。第一次有效,然后失败。 (模态上的模态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43213183/

相关文章:

jquery - 在 jQuery UI 对话框中翻译 "Buttons"

jquery - 选择除第一个元素之外的所有子元素

javascript - 在外部单击时折叠 Bootstrap 按钮

javascript - 一个函数中修改的值在另一个函数中看不到

javascript - 如何在不直接选择该选项的情况下将 HTML 选择框滚动到该选项?

javascript - 我的编辑按钮 ajax 不工作

javascript - 如何解决字体拦截问题?

javascript - AngularJs - 动态显示按钮的最佳方式是什么?

javascript - 如何使用 jest 测试 setTimeout 和 jquery 方法

javascript - 购物车,显示总数的功能。 [JS]