将回显的HTML代码(PHP)追加到Javascript

Appending Echoed HTML code (PHP) to Javascript

本文关键字:PHP 追加 Javascript 代码 HTML      更新时间:2023-09-26

我们有一个用于计费的web应用程序,它从浏览器提供打印。如果我们从浏览器打印到dotmatrix打印机,就会出现速度问题(打印速度非常非常慢)。因此,我们计划在没有浏览器干预的情况下将原始文本发送到打印机打印视图。

因此我开始了解jZebra插件。它使用javascript通过java调用print。通过jzebra教程,我可以添加一些html,我不能打印一些文本,工作得很好。像下面的

<script>
        function print() {
        qz.appendHTML('<html><table style="font-size:10pt; font-face:''Courier New'';"><tr>' + 
                        '<td colspan="3">Company Name</td>' + 
                        '</tr><tr>' +
                        '<td>TIN: number</td>' + 
                        '<td>ADDRESS<br/>SILK SHOWROOM A/C, PADIYUR</td>' + 
                        '<td>STD: 0000000000/td>' + 
                        '</tr></table></html>');
         // Send characters/raw commands to printer
         qz.printHTML();
    }
</script>

问题:

当billing通过PHP在一个按钮点击事件上返回一些HTML,如产品购买细节和总金额。

如何将这些html附加到上述函数?

这里的一些代码示例通过ajax调用这个PHP:

  try{
        //SELECTING DATA FRO VIEW FROM VI TEMP
        $stmt = $pdo->prepare("SELECT * FROM nontextile_purchase_retailsales_wholesales WHERE bill_number = '$bill_no' ORDER BY id ASC"); $stmt->execute();
        $results            =   $stmt->fetchAll();
     }
     catch(Exception $e){
             print_r($e->getMessage());
             exit;
         }
    foreach($results as $result){
            echo "<tr style='margin-top:-37px;' class='active'><td class='center'></td>";
            echo "<td class='left'>".$result['variety']."</td>";
            echo "<td class='right'>".$result['price']."</td>";
            echo "<td class='center'>".$result['quantity']."</td>";
            echo "<td class='right total'> ".$result['total']."</td>";
            echo "<!--<td class='hidden-print center'><a id='retailsale_nontextile_edit' category ='".$result['category']."' variety='".$result['variety']."' price='".$result['price']."' commision_percent='".$result['commision_percent']."' bill_no='".$result['bill_number']."'>Edit</a></td>-->";
            echo "<td class='hidden-print center'><a id='retailsale_nontextile_delete' id_to_delete='".$result['id']."' bill_no='".$result['bill_number']."'>Delete</a></td></tr>";
                }
                echo "</tbody>
                </table>

与上面的回声HTML我怎么能在javascript函数中追加它?AJAX在这里:

$.post(
             "./php/retailsale/retail_sales_nontextile_add.php",
             { bill_no: bill_no, sale_date: sale_date, category: category, variety: variety, price: price, quantity: quantity, total: total },
             function(data) {
                $('#print_area').html(data);
             }).done(function( data ) {
          });

感谢您的帮助....

我可以想到一些方法,您可以将数据传递给打印。如果这两个函数总是一起运行,那么你可以在print中调用post,或者直接将数据传递给print:

function print() {
        $.post(
             ...
             }).done(function( data ) {
                 qz.appendHTML('...' + data + '...');
          });
}

或相反的方法:

$.post( 
...
                 }).done(function( data ) {
                     print(data)
              });

则使用打印函数

中的数据
function print(data) {
...
}

最后,如果这两个函数是独立的,您可以在函数之外创建一个全局变量,如append。

var append;
$.post( 
...
                 }).done(function( data ) {
                     append = data;
              });
function print() {
   ... + append + ...
}