Модал не закрывается в ответе ajax - PullRequest
0 голосов
/ 09 февраля 2019

Я использую mdbootstrap для моего проекта.У меня есть флажок, на котором я вызываю ajax для выполнения некоторой задачи и получаю ответ от php как 1 для успеха и 0 для отказа.Таким образом, я показываю модальное перед вызовом ajax, чтобы показать обработку.модальные показы, но не закрытие в ответе ajax.

Это мой модальный код

  <div class="modal fade"  id="process" tabindex="-1" role="dialog" aria- 
 labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data- 
  keyboard="false">
    <div class="modal-dialog modal-dialog-centered" role="document">
        <!--Content-->
        <div class="modal-content">
            <!--Body-->
            <div class="modal-body text-center mb-1">

                  <p>Please Wait</p>


            </div>
        </div>
        <!--/.Content-->
    </div>
</div>
 <script>
 status_val = 1;
 ac_no = 2;
 $('#process').modal();
  $.ajax({
      url:"reopen_account.php",
      type:"POST",
      data:{'reopen':'reopen','status_val':status_val,'ac_no':ac_no},
      success:function(output)
        {
           if (output==1) 
           {
              $('#process').modal('hide');
           }
           else{
               $('#process').modal('hide')
                alert('Error occured');
              }
        }
      }
    });
  </script>

Я использовал .modal ('hide');это не работает для меня. Где я иду не так.

1 Ответ

0 голосов
/ 09 февраля 2019

эта проблема возникает, когда вы пытаетесь закрыть modal сразу же после того, как вы открыли свой модал, и это потому, что модал не полностью открыт, и модальный статус все еще close.
Итак, чтобы избежать повторения чего-то подобного, вы можете установить тайм-аут, чтобы убедиться, что ваш модальный режим полностью открыт!

$('#process').modal();
        $(document).ready(function () {
            $.ajax({
                url: "reopen_account.php",
                type: "POST",
                data: {'reopen': 'reopen', 'status_val': status_val, 'ac_no': ac_no},
                success: function (output) {
                    if (output != 1)
                        alert('Error occured');

                    setTimeout(function () {
                        $('#process').modal('hide');
                    }, 1000);
                },
            });
        });
...