Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery/Javascript通过id下载文件_Javascript_Jquery - Fatal编程技术网

使用jQuery/Javascript通过id下载文件

使用jQuery/Javascript通过id下载文件,javascript,jquery,Javascript,Jquery,我有100多篇文章。每篇文章都附有不同的PDF文件。有一个表单,用户必须填写该表单,然后重定向到感谢页面。代码如下 document.addEventListener( 'wpcf7mailsent', function( event ) { location = 'https://example.com/thankyou'; }, false ); 在上面的代码中,我想添加下面的代码,以便触发下载。我如何组合这两个代码 $(document).ready(function(){

我有100多篇文章。每篇文章都附有不同的PDF文件。有一个表单,用户必须填写该表单,然后重定向到感谢页面。代码如下

document.addEventListener( 'wpcf7mailsent', function( event ) {
    location = 'https://example.com/thankyou';
}, false );
在上面的代码中,我想添加下面的代码,以便触发下载。我如何组合这两个代码

$(document).ready(function(){
    $("#download a").trigger("click");
});
HTML格式的文章:

<p>Content goes here</p>
<p id="download"><a href="https://example.com/path/file.pdf">Download</a></p>
内容在这里

如果有更好的方法,请建议。

传入get参数。 因为您正在重新加载一个新页面,所以应该传递一个get参数来指示下载应该开始

document.addEventListener( 'wpcf7mailsent', function( event ) {
    location = 'https://example.com/thankyou?download';
}, false );
然后在您的页面上,确实有下载文件

$(document).ready(function(){
  if (window.location.search.includes("download")){
    $("#download a").trigger("click");
  }
});
如果在单个页面上有一个列表,则可以在下载参数中传递一个参数
?下载=“1234.zip”
并将其作为您的目标。如果您使用此方法,请小心,以免打开JS注入窗口。

表单与文章链接的关系如何?提交表单后链接是否可用?表单和链接是否在同一页上?你问题的背景一点也不清楚。我们需要更多的信息,我想,在我们能给出一个正确的答案之前,这是否回答了你的问题@ADyson是的,表单是一个小部件,在每篇文章中都可以找到。下载的PDF文件在文章中。但是,文件名是不同的。ID将保持不变。因此,在提交表单后,您希望自动启动下载,并将其重定向到感谢页面,对吗?@ADyson Yes。对,谢谢。让我试试,它不起作用。它以
https://example.com/thankyou?download
但下载从未被触发。我不能100%确定if(window.location.search.includes(“下载”))是否准确。我会先去那里看看。