web-dev-qa-db-ja.com

閉じるbootstrap送信後モーダル

Deleteボタンをクリックした後、bootstrap modalを閉じるにはどうすればよいですか?)これが私のコードです:

<div id="media_delete_confirmation" class="modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title">Confirmation</h4>
      </div>

      <form id="modal-form">
        <div class="modal-body">
          <input id="media_action" value="deleteMediaAction" type="hidden"/>
          <p>Do you want to save changes you made to document before closing?</p>
          <p class="text-warning"><small>If you don't save, your changes will be lost.</small></p>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-primary" data-dismiss="modal">Keep</button>
          <button type="button" class="btn btn-default" id="modal_delete">Delete</button>
        </div>
      </form>
    </div>
  </div>
</div>

そしてここに他の部分があります:

$("#modal_delete").click(function() {

  var id = $(".image-picker").val();
  var media_action = $("#media_action").val();

  $.ajax({
    type: 'POST',
    url: '?page=myMediaController&action=deleteMedia',
    data: {'media_id' : id},
    success: function(data) {
      $("#media_delete_confirmation").modal("hide");
    }
  });
});
8
asdasdas

私は同じ問題を抱えていて、モーダルダイアログをこのように閉じることができました:

<div id="approveDialog" class="modal approveDialog hide">
    <!-- various form elements -->
    <div class="modal-footer pull-center">
            <a href="#" data-dismiss="modal" aria-hidden="true" class="btn">Back to Listings</a>    
            <button id="submitApprove" class="btn btn-success">Shop</button>
    </div>
</div>


$('button#submitApprove').on("click", function(event) {
    // submit form via ajax, then

    event.preventDefault();
    $('#approveDialog').modal( 'hide' );
});
5
yetimoner

JavaScriptを使用してモデルを非表示にする必要はありません。次のように、ボタンタグ属性でdata-dismiss = "modal"を使用するだけです。

<div class="modal-footer">
  <button type="button" class="btn btn-primary" data-dismiss="modal">Keep</button>
  <button type="button" class="btn btn-default" id="modal_delete"  data-dismiss="modal">Delete</button>
</div>
2
Nilesh Mahajan

<script>これを書いているあなたの体の終わりの前に

$('#media_delete_confirmation').submit(function() {
        $('#media_delete_confirmation').modal('hide');
        });
0
Ivan

最初に、この送信ボタンにclosemodelのようなIDまたはクラスを追加します。次に、この最初のdivに別のIDまたはクラスを追加します。次に、このjqueryコードを追加します

<script>
$(document).ready(function() {
  $('#closemodel').click(function() {
    $('#CreateAccount1').modal('toggle');
  });
});
</script>
0
user7282461

送信時にモーダルを非表示にすることができます

$('#media_delete_confirmation').hide();  //to hide modal
$('.modal-backdrop').remove();           //to remove backdrop
0

私は同じ問題を抱えていました。送信後にモーダルウィンドウを閉じようとしました。私がそれを解決できる唯一の方法は、次のことをすることでした。

成功関数では、jQueryを介してこのコードを追加しました。

success: function(respuesta){
    $('#btnGuardarCambios').attr("data-dismiss", "modal");

「変更を保存」ボタンでは、attrメソッドを使用しました。 ajaxが成功した場合は、新しい属性(data-dismiss)とその値(モーダル)を設定しないと、モーダルは消えません。

編集:これはIEおよびChromeでは機能しません。Mozillaでのみ機能します:c

0
Olvin Camara

あなたが試すことができるV3

 success: function(data) {
 // close modal
  $( '#media_delete_confirmation' ).modal( 'hide' ).data( 'bs.modal', null );
 // event after hidden
  $('#media_delete_confirmation').on('hidden', function(){
      $(this).data('modal', null);  // destroys modal
  });
}

バージョン2

  $( '#media_delete_confirmation' ).remove();
  $( '.modal-backdrop' ).remove(); // removes the overlay
0
Raja Khoury