Consulta codigo de barras

88 views
Skip to first unread message

ftr...@gmail.com

unread,
Sep 11, 2020, 10:20:05 AM9/11/20
to LISTA PHP
Pessoal, tenho um código que ao consultar um codigo de barras, ele preenche os campos automaticamente, porem, ao inserir o código, eu tenho que clicar no produto para que ele preencha o campo.
Estou querendo usar um leitor de códigos de barras, onde ao ler o código, ele já preencha os campos sem eu precisar clicar.
Desde ja, obrigado pela atenção.

<script type="text/javascript">
        //Produtos
        $(function () {
            $("#codigoprod").autocomplete({
                source: "produtos.php",
                minLength: 2,
                select: function (event, ui) {
                    event.preventDefault();
                    $('#idproduto').val(ui.item.codigo);
                    $('#nome').val(ui.item.nome);
                    $('#id_producto').val(ui.item.id_producto);
                }
            });
        });

    </script>


       
            <label for="busca">Busca: </label>
            <input type="text" name="busca" id="codigoprod" Size="40" placeholder="Procura Produto..." autofocus/>
       

           <label for="idproduto" class="sr-only">Código</label>
           <input type="text" name="idproduto" id="idproduto" class="form-control" placeholder="idproduto" required


Gustavo Almeida

unread,
Sep 11, 2020, 10:22:45 AM9/11/20
to list...@googlegroups.com
Cara,

Os leitores de código de barras enviam um "ENTER" após a leitura.

Você vai ter que configurar sua página a tratar o "ENTER" ativando esse clique do botão.
--
--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================

---
Você recebeu essa mensagem porque está inscrito no grupo "LISTA PHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para listaphp+u...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/listaphp/a5f23ff3-aff6-412d-afdd-b0b5a8446734n%40googlegroups.com.


Message has been deleted

ftr...@gmail.com

unread,
Sep 11, 2020, 10:30:45 AM9/11/20
to LISTA PHP
Então, esta parte do enter, eu desabilitei no proprio leitor.
No caso ele não envia mais o enter, mas ai fica o produto para eu clicar.
Oque não consegui fazer é que após a leitura do codigo, ele ja selecione automaticamente e preencha os demais campos.
Não sei se consegui ser claro.

Márcio Fornari

unread,
Sep 11, 2020, 10:49:58 AM9/11/20
to list...@googlegroups.com
Você terá que usar a funçãon .blur para que quando o campo do código de barras perca o foco ele preencha os outros campos..

 $("#codigoprod").blur(function(){
   //
  });

Pelo que entendi seria essa a dúvida



--
............
Márcio Fornari 

..........................................................................

ftr...@gmail.com

unread,
Sep 11, 2020, 2:23:09 PM9/11/20
to LISTA PHP
Boa tarde Marcio, obrigado pela atenção.
Na verdade ao terminar de ler o codigo, preciso que ele preencha os outros campos.
Irei deixar o link de um video, de como esta agora, que tenho que clicar para preencher.
Preciso que ao final da leitura do codigo, ele preencha os campos sem eu precisar clicar.

Márcio Fornari

unread,
Sep 11, 2020, 4:53:42 PM9/11/20
to list...@googlegroups.com
Fiz rapido aqui, veja se te serve, nesse caso eu disse que quando chegar a 5 caracteres ele troca os campos e pega os valores.

https://jsfiddle.net/L8mrav1e/

$(function () {
  var produtos = [
  "12345",
  "54321",
  "12346"
  ];
 
  $("#codigoprod").bind("change paste keyup", function() {
   var total = $(this).val().length;
if(total == 5){
      $(this).blur();
$("#idproduto").val("1");
$("#nomeproduto").val("Arroz");
}
}).blur(function() {
    var total = $(this).val().length;
     if(total == 5){
$("#idproduto").val("1");
$("#nomeproduto").val("Arroz");
}
   }).
    autocomplete({
    autoFocus: true,
    source: produtos
    });
 });

ftr...@gmail.com

unread,
Sep 14, 2020, 10:03:22 AM9/14/20
to LISTA PHP
Bom dia Marcio, seria isso mesmo, estou tentando colocar pra funcionar junto com o meu código, como não tenho domínio do JS.
Mas já tenho o caminho,  muito obrigado.

ftr...@gmail.com

unread,
Sep 14, 2020, 2:22:28 PM9/14/20
to LISTA PHP
Marcio, estou na seguinte duvida, se vc puder me ajudar...
No final, deixei também o código da pagina "codigos.php"

//Inicio  do busca codigo
**** Como posso fazer a variavel produtos, receber o resultado da pagina codigos.php ***
$(function () {
var produtos = [
"7891910101010"
];
$("#ean" + x).bind("change paste keyup", function() {
var total = $(this).val().length;
if(total == 13){
$(this).blur();
$('#idproduto' + x).val(ui.item.idproduto);
$('#nome' + x).val(ui.item.nome);
$('#ean' + x).val(ui.item.codigo);


}
}).blur(function() {
var total = $(this).val().length;
if(total == 13){
$('#idproduto' + x).val(ui.item.idproduto);
$('#nome' + x).val(ui.item.nome);
$('#ean' + x).val(ui.item.codigo);
$('#referencia' + x).val(ui.item.referencia);

}
}).
autocomplete({
autoFocus: true,
source: "codigos.php"
});
});
//Fim do busca código

//Pagina codigos.php
<?php

$termo = $_GET['term'];
if (isset($_GET['term'])) {



$return_arr = array();

if ($con) {
$fetch = mysqli_query($con, "SELECT * FROM produtos where ean = $termo AND produtos.ativo = 1 ORDER BY idproduto DESC LIMIT 0 ,50");

while ($row = mysqli_fetch_array($fetch)) {
$row_array['nome'] = utf8_encode($row['nome']);
$idproduto = $row['idproduto'];
$row['nome'] = utf8_encode($row['nome']);
$row_array['value'] = $row['nome'] . " | " . $row['ean'];
$row_array['codigo'] = $row['ean'];
$row_array['referencia'] = $row['referencia'];

array_push($return_arr, $row_array);
}
}
/* Encerra conexao. */
mysqli_close($con);
/* codifica resulta do array em JSON. */
echo json_encode($return_arr);
}
?>

A sexta-feira, 11 de setembro de 2020 à(s) 11:49:58 UTC-3, Márcio escreveu:

ftr...@gmail.com

unread,
Sep 25, 2020, 11:45:23 PM9/25/20
to LISTA PHP
Marcio, consegui ser claro no exemplo acima?

ftr...@gmail.com

unread,
Oct 8, 2020, 3:50:06 PM10/8/20
to LISTA PHP
Marcio, no caso como posso fazer com oque o resultado que vem de um array json, seja prrenchido nos campos certos:
// verificar codigo de barras
$(function () {
$("#ean" + x).bind("change paste keyup", function() {
var total = $(this).val().length;
if(total == 13){
$(this).blur();
$('#idproduto' + x).val(ui.item.idproduto);
$('#nome' + x).val(ui.item.nome);
$('#ean' + x).val(ui.item.codigo);
$('#referencia' + x).val(ui.item.referencia);
$('#valorunitario' + x).val(ui.item.valorunitario);
$('#desconto1' + x).val(ui.item.desconto);
$('#estoque' + x).val(ui.item.quantidade);
$('#minimo' + x).val(ui.item.minimo);
}
}).blur(function() {
var total = $(this).val().length;
if(total == 13){
$('#idproduto' + x).val(ui.item.idproduto);
$('#nome' + x).val(ui.item.nome);
$('#ean' + x).val(ui.item.codigo);
$('#referencia' + x).val(ui.item.referencia);
$('#valorunitario' + x).val(ui.item.valorunitario);
$('#desconto1' + x).val(ui.item.desconto);
$('#estoque' + x).val(ui.item.quantidade);
$('#minimo' + x).val(ui.item.minimo);
}
}).
autocomplete({
autoFocus: true,
source: "codigos.php"

});
});

A sexta-feira, 11 de setembro de 2020 à(s) 17:53:42 UTC-3, Márcio escreveu:
Reply all
Reply to author
Forward
0 new messages