2016-10-19 2 views
0

Я хочу заполнить поля ввода данными из json, а затем отправить их на принтер, а затем снова заполнить входы из последней строки -1 в db, а затем отправить на принтер и затем последний ряд -2 затем распечатать его и т.д .. мне удалось вернуть JSON данные из последнего п insered строки из базы данных в зависимости от значения printmultipleзаполнить поля ввода данными json, затем отправить их на принтер

HTML,

<div id="printableArea"> 
<div align="center"> 

<input type="text" name="barcode2" id="barcode2" required readonly > 
<input type="text" name="barcodecountry" id="barcodecountry" > 
<input type="text" name="barcodecountry" id="barcodecountry2" > 

<br> 
<div id="print"> 
</div> 

<label id="idbar">id.:</label><input type="text" name="barcodesurname" id="barcodesurname" required readonly> 
<br> 
<br> 
<label id="pricebar">price:</label><input type="text" name="barcodename" id="barcodename" required readonly> 
<input type="text" name="barcodecountry" id="barcodecountry3"> 
</div> 
</div> 

</div> 

printablearea является DIV, что входы заполняются, и я отправляю для печати на принтер

В моей Js файл

$(document).ready(function() { 


    $('form').submit(function(event) { 

     $('.form-group').removeClass('has-error'); // remove the error class 
     $('.help-block').remove(); // remove the error text 





     var formData = { 
      'surname'  : $('input[name=surname]').val(), 
      'name'  : $('input[name=name]').val(), 

      'telephone' : $("#telephone").val(), 
      'mail' : $("#mail").val(), 
      'barcode' : $("#barcode").val(), 
      'customid' : $("#customid").val(), 
      'ticketprice' : $("#ticketprice").val(), 
      'seat' : $("#seat").val(), 
      'printmultiple' :$("#printmultiple").val() 

     }; 

     $.ajax({ 
      type  : 'POST', 
      url   : 'process2.php', 
      data  : formData, 
      dataType : 'json', from the server 
      encode  : true 
     }) 

      .done(function(data) { 



       console.log(data); 

       if (! data.success) { 
         if (data.errors.surname) { 
         $('#surname-group').addClass('has-error'); 
         $('#surname-group').append('<div class="help-block">' + data.errors.surname + '</div>'); 
         } 
         else if (data.errors.name) { 
         $('#name-group').addClass('has-error'); 
         $('#name-group').append('<div class="help-block">' + data.errors.name + '</div>'); 
         } 



       } else { 

$.each(data.added, function (i,it){ 

    $('#printableArea').append(data.added[i]); 
}); 

    for(i=0; i<data.added[13]; i++){ 
        $('#barcodecountry2').val(data.added[1]); 
        $('#barcodesurname').val(data.added[0]);    
        $('#barcodename').val(data.added[4]); 
        $('#barcode2').val(data.added[2]); 
        $("#print").barcode(
    document.getElementById("barcode2").value, 
    "code128" 
    ); 
       $('#printableArea').print(); 
       } 

$('form').append('<div class="alert alert-success">' + data.message + '</div>'); 
    } 
      }) 


      .fail(function(data) { 


       console.log(data); 
      }); 


     event.preventDefault(); 
    }); 

}); 

Я хочу, чтобы возвращаемые данные из JSON для заполнения входов, например, первые 5 элементов из JSON, чтобы заполнить затем распечатать затем следующий 5 затем распечатать. Я добавил код для печати в зависимости от printmultiple стоимости, но печатает только тха последнюю строку п раз

ниже я добавить вернулся JSon данные: Object { 0: "7784", 1: "2016-10-18 23:16:01.000000", 2: "16221458721646", 3: "2016-10-19", 4: "8", 5: "normal", 6: null, 7: "admin", 8: "DASDSADAS", 9: "7884", 18 more… }

+0

это может помочь, если вы показать образец содержимого переменной data и его структуры. Из интереса, однако, это довольно странный способ печати. Это отчет? Обычно люди не интересуются печатными формами с текстовыми полями и т. Д., Они предпочитают, чтобы данные были отформатированы красиво и удобочитаемо. Печатная форма обычно не выглядит такой приятной. Формы предназначены для ввода и записи данных, а не для отображения/печати. – ADyson

+0

форма предназначена для печати штрих-кодов с данными из db, но если кто-то хочет напечатать, например, 5 штрих-кодов, я хочу, чтобы последние 5 строк были вставлены на db, потому что штрих-коды берут штрих-код + 1 и печатаются на принтере – aristeidhsP

+0

данные, которые возвращаются из json \t Объект {0: "7784", 1: "2016-10-18 23: 16: 01.000000", 2: "16221458721646", 3: "2016-10-19", 4: "8", 5 : «normal», 6: null, 7: «admin», 8: «DASDSADAS», 9: «7884», еще 18 ...} – aristeidhsP

ответ

0

я нашел решение

for(i=0; i<data.added[0].printmultiple; i++){ 
        $('#barcodecountry2').val(data.added[i].signintime); 
        $('#barcodesurname').val(data.added[i].customid);    //get id 
        $('#barcodename').val(data.added[i].ticketprice); 
        $('#barcode2').val(data.added[i].barcode); 
        $("#print").barcode(//div id print 
    document.getElementById("barcode2").value,// Value barcode (dependent on the type of barcode) 
    "code128" // type (string) 
    ); 
Смежные вопросы