Ver Mensaje Individual
  #18 (permalink)  
Antiguo 21/11/2012, 14:08
Avatar de Briss
Briss
 
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Enter automatico

Cita:
Iniciado por emprear Ver Mensaje
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. /*]]>*/
  30. <script type="text/javascript">
  31. function capturar(evento) {
  32. //  alert(evento.target.value);
  33.     document.getElementById('stock').submit();
  34.     document.getElementById('codigo_barras').value = "";
  35.     document.activeElement.blur();
  36.     document.getElementById('repetir').style.display= 'block';
  37.     document.getElementById('lector').style.display= 'none';
  38.     document.getElementById('codigo').style.display= 'none';
  39.     }
  40.     window.onload = function() {
  41.         var campo =document.getElementById('codigo_barras');
  42.         campo.addEventListener('focus',capturar,false);
  43. }
  44.  
  45. /* efecto */
  46. var i = 0;
  47. var t;
  48. function mover(margen,demora){
  49. var pos = 320; // margen igual a la cuarta parte del ancho del div (tener en cuenta posibles paddings laterales
  50. var capa = document.getElementById('lector');
  51. i++;
  52. t= setTimeout(function() {
  53.             capa.style.left = i + 'px';
  54.             mover(margen,demora);
  55.             if(i > pos){
  56.             clearTimeout(t);
  57. document.getElementById('codigo_barras').value = "123456789005";
  58. document.getElementById('codigo_barras').focus();
  59. capa.style.left = "100px";
  60. i = 0;
  61.             }
  62.         }, demora);
  63. }
  64. </head>
  65. <form action="cbar.php" id="stock" target="actualizar" method="post">
  66. <label>Código de Barras </label>
  67. <input type="text" id="codigo_barras" name="codigo_barras" value="" />
  68. </form>
  69. <iframe src="about:blank" widht="300" height="60" frameborder="0" scrolling="no" name="actualizar" id="actualizar"></iframe>
  70. <p id="repetir">
  71. <a href="cbar.html">Repetir</a>
  72. </p>
  73. <figure id="lector" >
  74. <img src="lcb.png" alt="" onclick="mover(100,1);"  title="123456789005"/>
  75. Click en el lector para la demo
  76. <img src="code.png" alt="" id="codigo" />
  77. </body>
  78. </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
Gracias por tu ayuda de hecho ya tengo la conexion con mi lector y ya tengo el foco marcando el input en el cual debe escribir el codigo...
el problema es que en mi lector la primera manera de capturar es donde el lector da enter automaticamente sin necesidad de presionar el boton Buscar ....
pero al dar enter se carga de nuevo el formulario y esto hace que pierda mi información previamente buscada (la busqueda marca un chechk que coincida con el id buscado)

La segunda manera de leer se hace donde solo el lector captura el codigo en el input con el foco... queria hacerlo asi pero me doy cuenta al hacerlo manual q al dar enter sin presionar el boton Buscar pasa lo mismo que en la lectura con el lector en la primera forma (Bien el problema no es el LECTOR sino el ENTER)

ahora bien si en el boton mando a llamar el evento al dar enter no se puede hacer lo mismo???????????