Foros del Web » Programando para Internet » Javascript »

Enter automatico

Estas en el tema de Enter automatico en el foro de Javascript en Foros del Web. Hola tengo la siguiente funcion Código: <script> function marcar(){ //El Try es para evitar caidas si el elemento no existe try{ document.getElementById('check' + document.getElementById('ID').value).checked=true; }catch(e){ ...

  #1 (permalink)  
Antiguo 20/11/2012, 19:03
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Información Enter automatico

Hola tengo la siguiente funcion
Código:
<script>
function marcar(){
//El Try es para evitar caidas si el elemento no existe
try{
document.getElementById('check' + document.getElementById('ID').value).checked=true;
}catch(e){
}
}
$("inpup#Nombre").remove(); 
</script>

<form id="form1" name="form1" method="Post" >
<label style="font-size:14px">ID:
<input type="text" name="ID" id="ID" onClick="marcar()" />

</label>
<label>
<input type="button" name="buscar2" value="Buscar" onClick="marcar();" />
</label>
</form>



LO q hace es lo siguiente tengo una tabla con varios registros apartir de una consulta .... si el Id concide en la busqueda se marca .... si busco otro se marca el siguiente buscado....
Ingreso los datos con un lector pero necesito que automaticamente de enter y se borre el text del input ID de la busqueda... lo hacia con el lector pero se actualizaba la pagina entonces perdia mis datos


Puedo hacer algo con javascript para dar enter y borrar automaticamente sin presionar el boton?????
  #2 (permalink)  
Antiguo 21/11/2012, 02:29
Avatar de rosonator  
Fecha de Ingreso: noviembre-2012
Ubicación: Bilbao
Mensajes: 49
Antigüedad: 11 años, 5 meses
Puntos: 7
Respuesta: Enter automatico

Lo siento, me ha costado entender tu explicación. Aun así, leer teclas del teclado se hace así:

document.addEventListener('keydown',function(evt){
lastKey=evt.keyCode;
},false);


Esto estará fuera de cualquier función. Cuando des una tecla lastKey se cargará con un valor numérico que tendrás que cotejar en tu función. Enter es el número 13, así que

if (lastkKey == 13) { //lo que sea que hayas explicado}
  #3 (permalink)  
Antiguo 21/11/2012, 10:34
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Enter automatico

BUENO lo que quiero lograr es que despues de escribir en mi input ID automaticamente se de enter y se limpie ese input


Para que haga la busqueda le puse lo siguiente
Código HTML:
 <input type="text" name="ID" id="ID" onchange="marcar()" /> 
Pero como es el evento onChange tengo q dar clic en alguna otra parte de mi pagina... y eso no me sirve ya que inserto los datos mediante un lectror de codigo de barras ....
lo que quiero es q despues de capturar con el lector se de enter y se limpie ese input y obvio el foco quede ahi
  #4 (permalink)  
Antiguo 21/11/2012, 10:40
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Enter automatico

podrias usar otros eventos como textinput onformchange oninput

espero te sirva alguno, saludos
  #5 (permalink)  
Antiguo 21/11/2012, 10:41
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Enter automatico

Cita:
Iniciado por hackjose Ver Mensaje
podrias usar otros eventos como textinput onformchange oninput

espero te sirva alguno, saludos
HGracias por tu respuesta pero podrías ser mas explicito no conosco esos eventos u.U
  #6 (permalink)  
Antiguo 21/11/2012, 10:55
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Enter automatico

por ejemplo textinput lanza una funcion cuando cambia el valor del control(input) sin perder el foco(como onchange), asi que esa funcion podria ser una peticion ajax y cuando se complete borras el input con input.value = "";

Saludos
  #7 (permalink)  
Antiguo 21/11/2012, 11:23
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Enter automatico

Cita:
Iniciado por Briss Ver Mensaje
HGracias por tu respuesta pero podrías ser mas explicito no conosco esos eventos u.U
Un ejemplo sencillo

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>evento oninput</title>
  5. <script type="text/javascript">
  6. function capturar(evento) {
  7.     alert(evento.target.value);
  8.     document.getElementById('codigo_barras').value = "";
  9.     document.activeElement.blur();
  10.     }
  11.     window.onload = function() {
  12.     document.getElementById('codigo_barras').addEventListener('input',capturar,false);
  13. }
  14. </head>
  15. <form action="#">
  16. <label>Código de Barras </label>
  17. <input type="text" id="codigo_barras" value="" />
  18. </form>
  19. </body>
  20. </html>

pegá un texto en el input, se me ocurre lo más parecido a l comportamiento del lector de código de barras

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #8 (permalink)  
Antiguo 21/11/2012, 11:24
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Enter automatico

Mi querida, hace rato que te venís peleando con ese lector BarCode. Y me parece que te está ganando.
¿El fabricante no da soporte o código prehecho para usar en tu página?

Si no hay un evento que se dispare al enviar el número, hay que ser creativo para inventar algo que lo emule. Pero sin el modelo para probar sólo podemos tirar ideas.

Lamentablemente el atributo oninput="" no anda en todos los navegadores; es como onchange, pero sin quitar el foco.
Otro que probaría es onpaste="", onbeforepaste="", puede que lo tome como un "pegado" y no como tipeo, y te salva. Pero tampoco es compatible.

Si el lector hace "algo" al terminar de cargar el número, se puede usar para disparar una función que lea el input, capture el contenido y lo borre del formulario sin quitar el foco del elemento. Pero hay que ver qué es eso que manda como para "actualizar la página", y así evitarlo.

Otra es poner un "capturador periódico", que lea el valor del input cada 250ms, si es distinto al anterior, lo guarda y borra; si es el mismo (que será "") lo ignora y sigue probando. Lo de la comparación es más que nada para tiempos mayores, que no gastan tanto recurso.


¿Y si contratás a alguien para que te haga el desarrollo? ¿O es un desafío personal?
(Bah, desafío personal para nosotros ... )


P.D.: Había tipeado la respuesta antes de ver la tuya, hackjose. Recién la subo ahora, pero aunque sea redundante no la edito, porque hay alguna opcíon (y recomendación) más.

P.D.2: Perdón emprear, tampoco vi el tuyo.

Última edición por furoya; 21/11/2012 a las 11:31 Razón: ¡Todos se amontonan para contestarle a Briss!
  #9 (permalink)  
Antiguo 21/11/2012, 11:33
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Enter automatico

Gracias a todos por sus respuestas bien el lector tiene dos maneras de leer una es solo captura los numeros en el input correspondiente.....

la otra hace el enter automatico y limpia el input pero actualiza la pagina y pierdo mis datos marcados antes....



Bien seguiré leyendo
  #10 (permalink)  
Antiguo 21/11/2012, 11:41
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Enter automatico

¿No será que el "Enter" envía el formulario? Eso tiene como consecuencia la actualización de la página. Pero se puede anular con JS, y que n vez de "enviar" ejecute una función. Al final, para enviar, se usaría utra función que recopila todos los datos.
Aquí no puedo inventar mucho, porque no conozco de formularios.

Pero seguro se van a amontonar para dejarte sugerencias. Ahora me retiro y les dejo el espacio.
  #11 (permalink)  
Antiguo 21/11/2012, 11:51
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Enter automatico

Cita:
Iniciado por furoya Ver Mensaje
¿No será que el "Enter" envía el formulario? Eso tiene como consecuencia la actualización de la página. Pero se puede anular con JS, y que n vez de "enviar" ejecute una función. Al final, para enviar, se usaría utra función que recopila todos los datos.
Aquí no puedo inventar mucho, porque no conozco de formularios.

Pero seguro se van a amontonar para dejarte sugerencias. Ahora me retiro y les dejo el espacio.
Me recordaste que esto viene de largo,, lo del código de barras pasado al html para mí es una incógnita, supongo que nuestra amiga Briss sabrá al menos esa parte.

Con la función que puse puede reemplazar ese alert() para procesar el form directamente ó con ajax.
dije que use copiar y pegar, porque obviamente todo el código se pasa de una y no caracter a caracter , si lo quiere pasar a mano, tendría que crear otro input extra
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #12 (permalink)  
Antiguo 21/11/2012, 12:04
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Enter automatico

Sabés que no estoy seguro de que lo pegue de una. Puede que lo escriba tan rápido que parece pegado.

Si lo vemos funcionando lo resolvemos en 5 minutos. Pero no quiero insistir con eso porque ... ¡te imaginás la cantidad que se van a ofrecer para ir a arreglárselo a domicilio!
  #13 (permalink)  
Antiguo 21/11/2012, 12:42
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Enter automatico

Agradesco las respuestas de quien habla en serio, tengo poco en javascript y me cuesta trabajo aun manejarlo...
ammm estoy haciendo varias pruebas no he logrado solucionarlo, pero seguiré intentando

Gracias nuevamente a quien sin afan de burlarse externo su ayuda
  #14 (permalink)  
Antiguo 21/11/2012, 12:50
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Enter automatico

De nada.
......
  #15 (permalink)  
Antiguo 21/11/2012, 12:55
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Enter automatico

Cita:
Iniciado por furoya Ver Mensaje
De nada.
......
que cosa, ya te salió la baba
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #16 (permalink)  
Antiguo 21/11/2012, 13:56
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 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
  #17 (permalink)  
Antiguo 21/11/2012, 13:57
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Enter puede tener un evento???

Hola al dar enter puedo hacer q ejecute un evento javascript


por ejemplo un button tiene
<input type="button" name="buscar" value="Buscar" onClick="evento();" >

Puedo hacer que el enter tenga ese evento esto es para evitar recargar la pagina
  #18 (permalink)  
Antiguo 21/11/2012, 14:08
Avatar de 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???????????
  #19 (permalink)  
Antiguo 21/11/2012, 14:25
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Enter automatico

entiendo la decima parte de las cosas que mencionas, mi ignorancia es casi total en lo que respecta a lectores códigos de barra.

hasta dónde se pasás el lector(que es un scanner en definitiva) por una etiqueta ú envase, eso genera un número (como si hiciese un OCR), posteriormente un software vuelca ese número en un programa, de facturación generalmente.

Ahora, cuando pasas el lector, la computadora, ¿Qué hace con el número generado?, lo manda al portapapeles ó que? en alguna parte lo tiene que almacenar, eso del botón buscar, ni idea. si mirás mi ejemplo, en cuanto al campo de texto le llega el número se hace el focus y este genera el submit, que es lo mismo que dar enter.

Bueno, hasta aqui es lo que llego a interpretar.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #20 (permalink)  
Antiguo 21/11/2012, 14:33
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Enter automatico

Cita:
Iniciado por emprear Ver Mensaje
Ahora, cuando pasas el lector, la computadora, ¿Qué hace con el número generado?, lo manda al portapapeles ó que? en alguna parte lo tiene que almacenar, eso del botón buscar, ni idea. si mirás mi ejemplo, en cuanto al campo de texto le llega el número se hace el focus y este genera el submit, que es lo mismo que dar enter.
Bueno, ya que la compañera no lo explica, te cuento

Un lector de código de barras (e incluso otros tipos de lectores, como RFID) regularmente lo que hace es hacer de teclado, el lector interpreta el código de barras y escribe genera las pulsaciones de teclas de los dígitos correspondientes. Básicamente, es un teclado USB.

En cuanto a la duda original, no se si estoy ciego o no sé a que se refiere, pero ¿qué es lo que quieres hacer cuando se presione enter?

Saludos
__________________
Grupo Telegram Docker en Español
  #21 (permalink)  
Antiguo 21/11/2012, 14:55
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Enter automatico

Cita:
Iniciado por Carlangueitor Ver Mensaje
Bueno, ya que la compañera no lo explica, te cuento

Un lector de código de barras (e incluso otros tipos de lectores, como RFID) regularmente lo que hace es hacer de teclado, el lector interpreta el código de barras y escribe genera las pulsaciones de teclas de los dígitos correspondientes. Básicamente, es un teclado USB.

En cuanto a la duda original, no se si estoy ciego o no sé a que se refiere, pero ¿qué es lo que quieres hacer cuando se presione enter?

Saludos
Menos mal que estás por acá @Carlangueitor.
Ahora tengo un poco más de dónde agarrarme, siguiendo con la "metáfora del teclado", algo de esto ya insinuó @furoya, cuando el lector pasa sobre el texto, vuelca todos los caracteres como un bloque, ó uno a uno.
Otra, cuando escribimos con el teclado a no ser que el elemento enfocado sea editable, no se escribe nada, ¿Eso supone que antes de pasar el lector por un código yo tendría que estar enfocando un campo "editable" previamente?

Si eso fuese así mi 2º ejemplo que utiliza focus no serviría, porque el focus en si mismo (el campo estaría aún en blanco, obviamente) ya dispara el submit, habría que volver a probar con el caso del "oninput"

Igual, todo esto es por curiosidad, me parece que la única forma en que podría resolverlo es teniendo un aparato de esos, lo cual no es para nada mi intención.


Salu2
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #22 (permalink)  
Antiguo 21/11/2012, 15:06
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Enter automatico

Cita:
Iniciado por emprear Ver Mensaje
Ahora tengo un poco más de dónde agarrarme, siguiendo con la "metáfora del teclado", algo de esto ya insinuó @furoya, cuando el lector pasa sobre el texto, vuelca todos los caracteres como un bloque, ó uno a uno.
Uno a uno, cómo si tu mismo los escribieras, solo que muy rápido que parece que los mete todos de un jalón.

Cita:
Iniciado por emprear Ver Mensaje
Otra, cuando escribimos con el teclado a no ser que el elemento enfocado sea editable, no se escribe nada, ¿Eso supone que antes de pasar el lector por un código yo tendría que estar enfocando un campo "editable" previamente?

Si eso fuese así mi 2º ejemplo que utiliza focus no serviría, porque el focus en si mismo (el campo estaría aún en blanco, obviamente) ya dispara el submit, habría que volver a probar con el caso del "oninput".
Efectivamente, tienes que colocar el cursor en un lugar editable, al igual que con un teclado normal.

Sigo sin entender el problema, ¿qué es lo que se tiene que hacer después de escribir en el campo?

Saludos
__________________
Grupo Telegram Docker en Español
  #23 (permalink)  
Antiguo 21/11/2012, 15:29
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Enter automatico

[Bueno, me entretuvieron antes de postear, y ya estoy llegando con noticias de ayer, pero igual posteo lo que escribi.]




No iba a volver, pero me lo están pidiendo a gritos.

Primero lo primero. Los comentarios al margen que hago vienen de un debate (por llamarlo de alguna manera) que tengo con alguien del Foro, y sé que va a leer éste tema. No es que te estoy "usando" ni "burlando", pero quedaste en el medio y aprovecho tu post, mientras intento ayudarte. Es cierto, si no existiera ese antecedente, ni te lo miraba. Pero tuviste suerte, porque cada vez estoy más seguro de que la solución pasa por retornar falso o verdadero el "Enter" que debe enviar el formulario o disparar la búsqueda. Solamente habría que agregar algún checkbox que si está tildado reconoce el caracter 13+10, y si no lo ignora y el foco se mantiene en el input con la función que captura el valor, lo borra y lo busca en tu base de datos sin recargar (que será con ajax, o algo así). Lo del checkbox sería para no perder alguna funcionalidad con el "Enter" automático, si la hay.

AHora vamos a lo importante.



Cita:
Iniciado por emprear Ver Mensaje
que cosa, ya te salió la baba
No proyectés. Y menos en este caso.
Sabés que estoy juntando "ejemplos". Que conocemos a alguien que por un lado me dice que mucha gente se registra como mujer porque supone que una dama va a recibir más respuestas (no mejores) y es algo con lo que estoy totalmente de acuerdo. Por el otro, me dice que a ella eso no le pasa, aunque no hablamos de respuestas sino de valoraciones, pero al final es lo mismo; si es mujer, y pone su foto para que todos la vean, es seguro que le van a tener más contemplaciones por eso. De ninguna manera va a ser la excepción que prueba la regla: es parte de la regla.

Aunque personas como vos y yo le tengamos respeto intelectual (¿te estoy citando bien?); reconozcamos que en nuestro perfil machista le toleramos cosas que a un congénere no le dejamos pasar ni de casualidad.

Y con respecto a la "Luz de gas", ni en chiste la veo de vuelta. Ingrid Bergman estaba muy buena, pero no sé si da para comerse un thriller psicológico así de nuevo. Por algo ya ni me la acuerdo. Pero vos mirala tranquilo, que no te voy a contar el final.


Antes de que me olvide, es casi seguro que los lectores de barra escriben. Por eso se conectan al teclado. Mandan los caracteres uno a uno. Así que el método del setInterval() que se me ocurrió va a tener que ser más selectivo, para no leer el valor por el medio.
Igual no creo que haga falta. Con controlar el "Enter" tiene que andar.

Lo que pasa, insisto, es que trabajamos a ciegas. No sabemos què "programa" esta usando ni como lo hicieron, porque seguramente va a haber que reescribirlo para que funcione con el lector barcode. El dato de que hay un boton "Buscar" que se dispara con "Enter" desde el prompt -o no, y se dispara siempre con el foco en cualquier lado- nos da la pauta de que Briss no tiene la menor idea de lo que hay adentro de ese "documento-programa" que seguramente alguien le habra instalado en su ¿intranet?.

Algun dia sabremos.
  #24 (permalink)  
Antiguo 21/11/2012, 16:43
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Enter automatico

Momento momento es algo que yo estoy haciendo OK sino no estaría batallando ... ammm respecto a eso de ser mujer me dio mucha risa lo que postean (hablo en buen plan )



Este es mi script
Código HTML:
<script>
function marcar(){
//El Try es para evitar caidas si el elemento no existe
try{
document.getElementById('check' + document.getElementById('Nombre').value).checked=true;
}catch(e){
}
}
$("input#Nombre").remove(); 
</script> 

El cual al buscar el ID marca el check correspondiente (en una tabla muestro varios registros que cumplen con determinadas condiciones)

este es el form

Código HTML:
<form id="form1" name="form1" method="POST" >
                    <label style="font-size:14px">Nombre:
                    <input type="text" name="ID" id="ID" onchange="marcar()" />
                    </label>
                    <label>
                    <input type="button" name="buscar2" value="Buscar" onClick="marcar();" />
                    </label>
                    </form> 



y EN mi tabla en la cual se muestran los resultados

este es mi chck

<input name="aplica[]" value="<? echo $row ['ID'];?>" type="checkbox" <?php if($row ['ID'] == $_POST['NID']) echo "checked='checked' "; ?> id="check<? echo $row['ID'];?>" class="check" />



BIEN no tengo ningun problema cuando lo hago manualmente y presiono el boton Buscar... osea en el input ID escribo algun numero si existe en la tabla de mi consulta se marca
vuelvo a escribir otro numero se marca si existe en la tabla y me conserva el check del primer registro buscado.....





Pero si lo hago con mi lector y hace el enter automatico lo que hace es en el input escribe el numero da ENTER automatico se limpia el input automaticamente tambien....
pero se actualiza la pagina por el enter entonces al querer buscar el segundo ID se pierde el primero buscado y marcado.... osea solo funciona para conservar un check marcado solo UNO.... lo he probado manuelmente y dando enter y el resultado es el mismo...

Perdón por no haber puesto el código antes supongo q por eso creen q es algo ya definido...


GRACIAS A TODOS
  #25 (permalink)  
Antiguo 21/11/2012, 17:12
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Enter automatico

Cita:
Iniciado por Briss Ver Mensaje
Pero si lo hago con mi lector y hace el enter automatico lo que hace es en el input escribe el numero da ENTER automatico se limpia el input automaticamente tambien....
pero se actualiza la pagina por el enter entonces al querer buscar el segundo ID se pierde el primero buscado y marcado.... osea solo funciona para conservar un check marcado solo UNO.... lo he probado manuelmente y dando enter y el resultado es el mismo...
pff, ya te lo había dicho @furoya, hay que hacer deshabilitar el envío del formulario con enter (eso es fácil de encontrar cómo), no suelo poner muchos códigos, pero sería algo así:


Código Javascript:
Ver original
  1. function disable_enter(e){
  2.     var key;
  3.     if(window.event){
  4.         key = window.event.keyCode;
  5.     }
  6.     else{
  7.         key = e.which;
  8.     }
  9.     if(key == 13){
  10.         marcar();
  11.         return false;
  12.     }
  13.     else{
  14.         return true;
  15.     }
  16. }

Y lo pones en el evento onKeyPress.

Saludos
__________________
Grupo Telegram Docker en Español
  #26 (permalink)  
Antiguo 21/11/2012, 17:50
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Enter automatico

Yo lo hice asi

<script>
function pulsar(e) {
tecla=(document.all) ? e.keyCode : e.which;
if(tecla==13) return false;
}
</script>


y bloque el enter = en lector pero entonces el lector captura los numeros no da enter y tengo q estar presionando el boton buscar...



Eso lo hace muy tedioso ... no existe ninguna manera de q se de enter pero no se actualice la pagina
  #27 (permalink)  
Antiguo 21/11/2012, 18:10
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Enter automatico

En serio, no es mala onda, pero copiar y pegar sin leer no te servirá de mucho.

No bloquees el enter en el lector. Verifica las diferencias entre el código que te dí y el que tienes, con una linea extra, lo tienes listo.

Y no es que se recargue la página, si no que se envía el formulario.

Saludos
__________________
Grupo Telegram Docker en Español
  #28 (permalink)  
Antiguo 21/11/2012, 18:13
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Enter automatico

Cita:
Iniciado por Carlangueitor Ver Mensaje
En serio, no es mala onda, pero copiar y pegar sin leer no te servirá de mucho.

No bloquees el enter en el lector. Verifica las diferencias entre el código que te dí y el que tienes, con una linea extra, lo tienes listo.

Y no es que se recargue la página, si no que se envía el formulario.

Saludos
Jejeje Perdón Oky lo pruebo gracias
  #29 (permalink)  
Antiguo 21/11/2012, 18:18
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Enter automatico

He agregado lo q me indicas y etso
<body onkeypress="disable_enter(e)">

Pero sigue enviando el formulario perdon perdon :S
  #30 (permalink)  
Antiguo 21/11/2012, 18:44
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Enter automatico

Tiene que ser algo similar a esto, obviamente, con tu HTML que tienes:

Código HTML:
Ver original
  1. <input type="text" onKeyPress="return disable_enter(event)">

Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: automatico, enter, funcion, input, tener, botones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:26.