2016-07-23 67 views
3

这是我想要做的点击打开弹出窗体,然后提交下载并关闭它!怎么样?

  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"); 


      }); 

}); 

我能够打开使用此代码,但浏览器阻止它作为一个弹出下载链接。请帮我找到解决方案。

谢谢

+0

我也遇到过这个问题,我做的解决方案是让我的网站弹出。你可以在浏览器设置中找到它。 – reignsly

+1

@reignsly但这并不能让其他人和他们的浏览器弹出,希望你不是你的网站的唯一用户 –

+0

@MarkoMackic是啊你的权利。所以我只是指导我的用户启用它们。我尝试使用模式窗口,但它会创建一个单独的窗口,我想要的是打开一个新的选项卡。 – reignsly

回答

0

浏览器拦截弹出窗口,因为他们通常讨厌,恶意广告使用。

更好的方法是使用modal window,它基本上与弹出窗口相同,但它并不是一个单独的浏览器窗口,它只是页面内部的一个独立元素,将其悬停在其他内容之上。

+0

我会尽力做到这一点。你有链接的任何简单的教程如何做到这一点? –

0

使用引导模式:

<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> 
+0

我试过这个,但是把它重定向到'action ='url。我使用'event.preventDefault()'来阻止它。但现在下载链接在同一窗口中打开。我想在新标签页或窗口中打开它。 –

+0

'window.open('uploads/yourpdf.pdf');'它会在新标签中打开 – NaveenDA