我可以使用从href标签调用的php脚本来触发jQuery事件吗?

时间:2012-03-12 04:30:01

标签: php jquery redirect header download

我的网站上有一个php脚本,可以方便我的网站下载(记录用户信息,控制用户权限等)。我的网站上的典型链接如下所示:

<a href="file_download.php?file_id=12345">Download file 12345</a>

file_download.php 中,我检查以确保文件请求有效,如果是,则执行标头强制文件下载

header("Content-type: application/force-download");

强制下载提示在用户的浏览器中。用户永远不会离开他们点击链接的页面。

我想知道的是,如果我能够将一个jQuery事件从file_download.php切换到父页面上吗?看来如果我在file_download.php上做任何事情而不是'header force download',那么用户将离开页面。

理想情况下,我希望保持我的href链接不变(为了不在网站范围内编辑一百万个实例),并让file_download.php切换一个灯箱窗口,在下载之前提示用户信息(如果需要的话)。 / p>

非常感谢任何帮助或建议,谢谢。

2 个答案:

答案 0 :(得分:1)

您不需要从PHP页面切换事件,您可以将信息框附加到所有下载链接,然后使用JavaScript重定向:

var downloadLink;

$(".download-link").click(function(e){
    e.preventDefault();
    downloadLink= $(this).attr("href");
    displayLightbox();
});

$("form").submit(function(e){
    e.preventDefault();
    //form validation
    if(formValidated = true){
        window.location = downloadLink;
    }
});

答案 1 :(得分:0)

我有一个example,就像上面那个。

这是您的链接:

<a id="downloadLinkId" href="file_download.php?file_id=12345">Download file 12345</a>

这是你的javascript:

$("#downloadLinkId").click( function(event) {
    event.preventDefault();
    launchLightBoxWindow();
}); 

其余代码在jsfiddle上。

相关问题