Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
我是否能够使用从href标记调用的php脚本来触发jQuery事件?_Php_Jquery_Redirect_Header_Download - Fatal编程技术网

我是否能够使用从href标记调用的php脚本来触发jQuery事件?

我是否能够使用从href标记调用的php脚本来触发jQuery事件?,php,jquery,redirect,header,download,Php,Jquery,Redirect,Header,Download,我在我的网站上有一个php脚本,可以帮助我的网站下载(记录用户信息、控制用户权限等)。我的网站上的典型链接如下所示: <a href="file_download.php?file_id=12345">Download file 12345</a> 这将强制用户浏览器中的下载提示。用户从未离开他们单击链接的页面 我想知道的是,我是否能够将jQuery事件从文件_download.php切换到父页面上?似乎如果我在文件_download.php上执行除“header force dow

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

<a href="file_download.php?file_id=12345">Download file 12345</a>
这将强制用户浏览器中的下载提示。用户从未离开他们单击链接的页面

我想知道的是,我是否能够将jQuery事件从文件_download.php切换到父页面上?似乎如果我在文件_download.php上执行除“header force download”以外的任何操作,用户将离开页面

理想情况下,我希望保持我的href链接不变(为了不在站点范围内编辑一百万个实例),并在下载前让文件_download.php切换一个lightbox窗口,提示用户信息(当然,如果需要的话)


非常感谢您提供的任何帮助或建议。

您无需从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;
    }
});
我有一个类似上面的

这是您的链接:

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

其余的代码都在JSFIDLE上。

谢谢,伙计,我正在考虑如何把这一切都搞错。感谢jQuery的强大功能和您的帮助,我现在走上了正确的道路;)
<a id="downloadLinkId" href="file_download.php?file_id=12345">Download file 12345</a>
$("#downloadLinkId").click( function(event) {
    event.preventDefault();
    launchLightBoxWindow();
});