0

我需要在 jquery-fancybox 中显示从 PHP 函数生成的 PDF 报告。

问题是我需要将$_POST表单数据提交到fancybox。你能给我一个如何做到这一点的想法吗?

执行生成报告的函数的 jQuery 函数:

$(function() {

    $("*").on("click", ".fancypdf", function() {

        var form = $("form").serialize();
        var url = this.value;
        console.log("Button=" + url);

        $.fancybox({
             type: 'html',
             autoSize: false,
             content: '<embed src="' + url + '#nameddest=self&page=1&view=FitH,0&zoom=80,0,0" type="application/pdf" height="99%" width="100%" />',
             beforeClose: function() {
                 $(".fancybox-inner").unwrap();
             }
         }); //fancybox
    return false;
 }); //click
});

生成报告 PDF 的 PHP 函数:

function exibirRelatorioPDF($dados = '') {
    echo "POST=<br />";
    print_r($_POST);
    $dados = $this->pesquisar();
    echo "Pesquisado";
    CarregaJanelaPDF('almembal/ajuste', $dados);
}
4

1 回答 1

0

我解决了问题!打开fancybox后我插入了一个ajax请求。

$(function() {

    $("*").on("click", ".fancypdf", function() {

        var data = $("form").serialize();
        var url = this.value;
        console.log("Button=" + url);
        console.log("Data=" + data);

        $.fancybox({
            type: 'ajax',
            autoSize: false,
            content: '<embed src="' + url + '#nameddest=self&page=1&view=FitH,0&zoom=80,0,0" type="application/pdf" height="99%" width="100%" />',
            beforeClose: function() {
                $(".fancybox-inner").unwrap();
            }
        }); //fancybox

        $.ajax({
            type: "POST",
            cache: false,
            url: url,
            data: data,
            success: function(data) {
                $.fancybox(data);
            }
        });

        return false;
    }); //click
});
于 2013-07-25T16:58:24.520 回答