Sweet Alert подтверждение перед отправкой формы с использованием Ajax - PullRequest
1 голос
/ 06 марта 2019

Перед использованием SweetAlert форма отправки работает нормально. После добавления SweetAlert форма отправки в любом случае не работает, я не понимаю, что не так с моим кодом.

Мой HTML-код

<div class="form-group">
    <a href="javascript:;" class="btn btn-success" id="addInputFile">Modal Input File</a>
</div>

и модал

<form class="form-horizontal" id="submit">
    <div id="myModal" class="modal fade" tabindex="-1" role="dialog">
      <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">Modal title</h4>
          </div>
          <div class="modal-body">
                <div class="form-group">
                    <input type="text" name="judul" class="form-control" placeholder="Judul">
                </div>
                <div class="form-group">
                    <input type="file" name="file">
                </div>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            <button type="submit" class="btn btn-primary" id="btn_upload">Upload</button>
          </div>
        </div><!-- /.modal-content -->
      </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
</form> 

JS часть

$(document).ready(function(){

        $('#addInputFile').on('click', function(){
            $('#myModal').modal('show');

            $('#btn_upload').on('click', function(e){
              e.preventDefault();
              Swal.fire({
                title: 'Are you sure?',
                text: "The data will input",
                type: 'warning',
                showCancelButton: true,
                confirmButtonColor: '#3085d6',
                cancelButtonColor: '#d33',
                confirmButtonText: 'Add',
                cancelButtonText: 'Cancel'
              }).then((result) => {
                if (result.value) {
                  $('#submit').unbind('submit').submit();
                  $('#submit').submit(function(e){
                     e.preventDefault(); 
                     $.ajax({
                         url:'myfile.php',
                         type:"post",
                         data:new FormData(this),
                         processData:false,
                         contentType:false,
                         cache:false,
                         async:false,
                          success: function(data){
                              alert("Input Form Success.");
                          }
                     });
                  });
                }
              })
            });
        });
    });

Кроме того, я пытаюсь отредактировать эту строку

$('#submit').submit(function(e){

В это

$('#submit')[0].submit(function(e){

Но страницы, но страница обновляется.

1 Ответ

0 голосов
/ 06 марта 2019

обновить

1002 *
...