2014-06-07 6 views
0

우리는 결제를위한 웹 응용 프로그램을 가지고 있으며 브라우저에서 인쇄본을 제공합니다. 브라우저에서 dotmatrix 프린터로 인쇄 할 때 속도 문제가 있습니다 (속도가 매우 느립니다). 그래서 브라우저 인쇄보기를 사용하지 않고 원시 텍스트를 프린터로 보낼 계획입니다.자바 스크립트에 에코 드 HTML 코드 (PHP) 추가

그 때문에 나는 jZebra 플러그인을 알게되었습니다. 그것은 자바 스크립트를 사용하여 자바를 통해 인쇄를 호출합니다. 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> 

문제점 아래 :

제품과 같은 몇 가지 HTML은 버튼 클릭 이벤트에 PHP를 통해 세부 사항과 총 금액을 구입 반향 메신저를 청구하는 동안.

어떻게 이러한 HTML을 위의 기능에 추가 할 수 있습니까?

아약스 통해이 PHP 호출

여기에 코드 샘플 중 일부 : retail_sales_nontextile_add.php 위의 HTML은 내가 어떻게는 자바 스크립트 함수에 추가 할 수 있습니다 에코되는과

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> 

를? AJAX는 여기에 있습니다 : 나는 몇 가지 방법을 생각할 수 있습니다 통해 UR 도움을

$.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) { 

      }); 

감사합니다 ....

+0

get() 또는 post()와 같은 다양한 JQuery 함수 중 하나에서 ajax를 사용하고 PHP 응답을 변수로 검색 할 수 있습니다. http://api.jquery.com/jquery.get/ – Devon

+0

Im using $ .ajax(); 및 PHP 응답 인스턴트 메신저 (성공 함수에 대한) 데이터라는 변수에 데. 그때? 어떻게 작은 코드 예제를 추가 할 수 있습니까? – arun

+1

이 이미 변수에 있다면 +를 사용하여 추가 할 수 있습니다. 예를 들어, '' '+ data +' '' – Devon

답변

0

당신이 인쇄에 데이터를 전달할 수 있습니다. 두 기능이 항상 함께 실행되는 경우에 당신은 인쇄 내부에서 게시물을 호출 할 수 있습니다 또는 인쇄에 직접 데이터를 전달 :

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 + ... 
} 
+0

메신저 시도 중 ... – arun

관련 문제