При щелчке открываем всплывающее окно с формой, а затем отправляем загрузку и закрываем ее! Как?

Вот что я пытаюсь сделать

  1. Нажмите ссылку для загрузки.
  2. При щелчке откроется всплывающее окно. Форма контакта находится во всплывающем окне.
  3. На кнопке отправки отправьте почту и автоматически загрузите файл PDF.
  4. В то же время запуск загрузки закрывает всплывающее окно без перенаправления на любую страницу.

Я попытался использовать .click() window.open()

 $('#theForm').submit(function(){ event.preventDefault(); var $form = $( this ), url = $form.attr( 'action' ); var posting = $.post( url, { name: $('#name').val(), name2: $('#name2').val() } ); /* Alerts the results */ posting.done(function( data ) { $(".modal-backdrop.fade.in").css("display", "none"); document.getElementById("anchorID").click(); $("#pdfdownload").css("display", "none"); }); }); 

Я могу открыть ссылку для загрузки, используя этот код, но браузер блокирует его как всплывающее окно. Пожалуйста, помогите мне найти решение.

Спасибо

Solutions Collecting From Web of "При щелчке открываем всплывающее окно с формой, а затем отправляем загрузку и закрываем ее! Как?"

Браузеры блокируют всплывающие окна, потому что они обычно раздражают и используют вредоносную рекламу.

Лучший способ сделать это – использовать модальное окно , которое в основном такое же, как всплывающее окно, но вместо того, чтобы быть отдельным окном браузера, это просто отдельный элемент внутри страницы, который парит над другим контентом.

Использовать bootstrap modal:

 <script> function send(){ var name = $("input#name").val(); var email = $("input#email").val(); $.ajax({ type: "POST", url: "send.php", //your mailing code is place on send.php data:'name='+ name'&email='+email, success: function(data){ $('#download').modal('hide'); window.location.href='uploads/yourpdf.pdf'; //your file location }); } } </script> 

Код html

 <a href="#" class="btn btn-primary" data-toggle="modal" data-target="#download">Download</a> <!-- modal for download and contact --> <div class="modal fade" id="download" role="dialog" > <div class="modal-dialog" > <div class="modal-content"> <!-- Your contact form goes here ---> <form method="post"> <input type="text" id="name" placeholder="name"> <input type="text" id="email" placeholder="email"> <button onclick="send();">send</button> </form> </div></div></div>