1

我使用 codeigniter 创建了一个包含多个表单的页面。我想显示一个用于从表单打印数据的弹出窗口,并且该窗口中有一个打印按钮。但我不知道如何以它的形式获取数据,直到退出弹出窗口以在 codeigniter 中打印。你能帮我为这个问题编码吗?老实说,我从来没有做过这样的编码问题,因为我也是初学者。

4

1 回答 1

0

所以你是初学者,太好了。在这里,您有一些想法可以尝试。此解决方案使用 jQuery 获取服务器数据,将其放入动态创建的 iframe 并打印(对 CI、WP 等有用)。这就是你想要的,嗯???

1.- jQuery 的东西

// <input type="button" id="print_me" data-form_id="101">
$("#print_me").live("click", function() {
    var form_id = $(this).data("form_id"); // get value 101
    $.post(
            // url to server where you get data to print
            window.location.href,
            {
                // vars sent to server to get data to print
                form_id : form_id // send form_id=101
                // etc
            },
            // output.contents have content to print
            function(output) {
                // create iframe
                var ifrm = document.createElement("iframe");
                ifrm.style.display = "none";
                document.body.appendChild(ifrm);
                setTimeout(function() {
                    // put content into the inframe
                    $(ifrm).contents().find("body").html(output.contents);
                }, 1);
                // print when iframe is loaded
                ifrm.onload = function() {
                    ifrm.contentWindow.print();
                }
            }, 'html');
});

2.- 服务器进程

$form_id = $_REQUEST['form_id']; // here we receive our data
ob_start();
// echo HTML formatted data to print
$contents            = ob_get_contents(); // $contents store all echoed HTML
ob_end_clean();
$output['contents']  = $contents; // wrap in $output
echo json_encode($output); // echo json encoded data
exit; // you must exit here!

您必须深入调查每一个步骤。一旦你实现了你的目标,你就会学到很多东西。祝你好运!

于 2013-01-01T15:40:20.693 回答