一尘不染

AJAX-打印页面内容

ajax

我正在使用AJAX将表单数据发送到建立并发送html电子邮件的服务器php文件。我在服务器php文件中回显了部分数据。回显的html生成一个表,我希望用户在纸上打印。我想打开默认的浏览器打印对话框,以便用户可以打印他/她看不到的表。我不在乎是否必须打开一个新选项卡才能显示回显的内容。这有可能吗?


阅读 255

收藏
2020-07-26

共1个答案

一尘不染

返回该html表单ajax请求,然后使用javascript打印

此代码未经测试

jQuery / JavaScript

$.post("EmailFile.php", { "EmailParam": "EmailVal" },
     function(data){
         var HTML = data.EmailHTML;

        var WindowObject = window.open("", "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes");
        WindowObject.document.writeln(HTML);
        WindowObject.document.close();
        WindowObject.focus();
        WindowObject.print();
        WindowObject.close();

     }, "json");

PHP文件 (EmailFile.php)

$EmailData = $_POST['EmailParam'];
//...Send Email...

//..Build HTML...
$TableHTML = "<table></table>";

//Return HTML
$JSONArr['EmailHTML'] = $TableHTML;
echo json_encode($JSONArr);
2020-07-26