Ver Mensaje Individual
  #16 (permalink)  
Antiguo 21/11/2012, 13:56
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Enter automatico

Hice un alto en la vista de "Luz de gas" para realizar esto

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Lector código de barras</title>
  5. <style type="text/css">
  6. /*<![CDATA[*/
  7. body{
  8. font-family: verdana, sans-serif;
  9. font-size: 10pt;
  10. }
  11. figure#lector{
  12. position: absolute;
  13. top: 190px;
  14. left: 100px;
  15. z-index: 999;
  16. }
  17. #codigo{
  18. position: absolute;
  19. top: 300px;
  20. left: 500px;
  21. z-index: 2;
  22. }
  23. p#repetir{
  24. display: none;
  25. }
  26. a{
  27. color: #000;
  28. }
  29. iframe{
  30. border: none;
  31. width: 300px;
  32. height: 60px;
  33. }
  34. /*]]>*/
  35. <script type="text/javascript">
  36. function capturar(evento) {
  37. //  alert(evento.target.value);
  38.     document.getElementById('stock').submit();
  39.     document.getElementById('codigo_barras').value = "";
  40.     document.activeElement.blur();
  41.     document.getElementById('repetir').style.display= 'block';
  42.     document.getElementById('lector').style.display= 'none';
  43.     document.getElementById('codigo').style.display= 'none';
  44.     }
  45.     window.onload = function() {
  46.         var campo =document.getElementById('codigo_barras');
  47.         campo.addEventListener('focus',capturar,false);
  48. }
  49.  
  50. /* efecto */
  51. var i = 0;
  52. var t;
  53. function mover(margen,demora){
  54. var pos = 320; // margen igual a la cuarta parte del ancho del div (tener en cuenta posibles paddings laterales
  55. var capa = document.getElementById('lector');
  56. i++;
  57. t= setTimeout(function() {
  58.             capa.style.left = i + 'px';
  59.             mover(margen,demora);
  60.             if(i > pos){
  61.             clearTimeout(t);
  62. document.getElementById('codigo_barras').value = "123456789005";
  63. document.getElementById('codigo_barras').focus();
  64. capa.style.left = "100px";
  65. i = 0;
  66.             }
  67.         }, demora);
  68. }
  69. </head>
  70. <form action="cbar.php" id="stock" target="actualizar" method="post">
  71. <label>Código de Barras </label>
  72. <input type="text" id="codigo_barras" name="codigo_barras" value="" />
  73. </form>
  74. <iframe src="about:blank" name="actualizar" id="actualizar"></iframe>
  75. <p id="repetir">
  76. <a href="cbar.html">Repetir</a>
  77. </p>
  78. <figure id="lector" >
  79. <img src="lcb.png" alt="" onclick="mover(100,1);"  title="123456789005"/>
  80. Click en el lector para la demo
  81. <img src="code.png" alt="" id="codigo" />
  82. </body>
  83. </html>


El php
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.  
  5. <style type="text/css">
  6. /*<![CDATA[*/
  7. body{
  8. font-family: verdana, sans-serif;
  9. font-size: 10pt;
  10. }
  11.  
  12. /*]]>*/
  13. </style>
  14. <head>
  15. <title>titulo</title>
  16. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  17. </head>
  18. <body>
  19. <p>
  20. Se actualizó stock para el producto:<br />
  21. <strong>
  22. <?php
  23. echo $_POST['codigo_barras'];
  24. ?>
  25. </strong>
  26. </p>
  27. </body>
  28. </html>



Demo
http://foros.emprear.com/php/cbar/cbar.html

Si sirve para algo o no, es otra historia (y no funciona en IE < 9)
Como interactúa el lector de códigos de barra con el html sigue siendo un misterio.
Por lo pronto con el evento focus podría funcionar

Y no seas tan rígida Briss, todos intentan ayudarte, cada uno a su manera

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 21/11/2012 a las 14:04