Вот что я пытаюсь сделать
Я попытался использовать .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"); }); });
Я могу открыть ссылку для загрузки, используя этот код, но браузер блокирует его как всплывающее окно. Пожалуйста, помогите мне найти решение.
Спасибо
Браузеры блокируют всплывающие окна, потому что они обычно раздражают и используют вредоносную рекламу.
Лучший способ сделать это – использовать модальное окно , которое в основном такое же, как всплывающее окно, но вместо того, чтобы быть отдельным окном браузера, это просто отдельный элемент внутри страницы, который парит над другим контентом.
Использовать 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>