Foros del Web » Programando para Internet » Javascript »

Como puedo saber o hacer esto

Estas en el tema de Como puedo saber o hacer esto en el foro de Javascript en Foros del Web. Hola a todos los foreros: Me han pedido que realice una aplicación que tiene que interactuar con un lector de código de barras. El hecho ...
  #1 (permalink)  
Antiguo 04/07/2006, 07:31
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Como puedo saber o hacer esto

Hola a todos los foreros:
Me han pedido que realice una aplicación que tiene que interactuar con un lector de código de barras. El hecho es que tengo casi la aplicación terminada y lo que me falta es lo que espero que me ayuden. Bueno la cosa es que tengo que leer el código de barras y ponerlo en un elemento INPUT, nada complicado. Ahora, explico para que comprendan y vean si tiene posible solución:
(1) El lector lee el código y lo pone en este formato "*********" en el elemento INPUT.
(2) El código tiene un formato como este: 83112121725|4525|A+|*| donde el * es el elemento que me indica que el código se leyó correcto.
(3) Debo entonces primero que nada verificar si el código se leyó correctamente, o sea, que el carácter "*" del final está contenido en la cadena.
(4) Si existe el carácter se envía la página automáticamente, o sea, no debo hacer click en un botón ni nada por el estilo sino que todo debe ser automático.
(5) Sino existe el carácter se envía un mensaje de alerta al usuario diciendole que hubo problemas y bueno la aplicación permanece en la página donde se lee el código hasta que este ocurra de la forma adecuada.

Espero haberme explicado lo mejor posible y bueno que me den una manito porque es lo único que me falta para terminar la aplicación.

Salu2 y felicidades a nuestra moderadora Tunait nuevamente, aunque ya lo hice en el POST adecuado.
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 04/07/2006, 07:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

En primer lugar te envío un tirón de orejas por el título del mensaje (¡y ya has posteado...!)

Hay varias formas si se tratase de una cadena (creo que se trata de eso...)

Si el campo es un asterisco, podría ser if (cadena.insexOf("|*|") >= 0)...
Otra manera es convertir la cadena en un array con split("|") y hacer la consulta en el elemento adecuado...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 04/07/2006, 08:43
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
jejejeje mis disculpas ...

Hola Caricatos:
Podrías ponerme un ejemplo de como hacer las cosas? Lo que pasa es que no me queda claro y bueno creo que seria IndexOf no?

Salu2
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 04/07/2006, 10:33
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Si el dato lo pasas a un campo de nombre codigo:

var codigoOk = (document.forms.elForm.codigo.value.indexOf("|*|") >= 0)

Luego ya puedes trabajar...
if (codigoOk) // pasó el control...

Cuando la subcadena no existe el valor que recoge es -1

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 04/07/2006, 10:37
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Perfecto ...

Caricatos: Excelente respuesta me ha quedado claro como usar el IndexOf (no lo olvido mas) pero ahora como se si el scanner termino de leer o no? O sea que en evento debo comprobar si existe o no el "|*|". Me entiendes ?

Salu2
__________________
Ing. Reynier Pérez Mira
  #6 (permalink)  
Antiguo 05/07/2006, 09:52
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Hmmm

Hola Caricatos:
He probado de varias formas y con ninguna me sirve. Aqui te dejo lo que he hecho a ver que estoy haciendo mal:
1ra versión
Código:
function verificaParentesis() {
    var codigo = document.forms.entrega.codigopdf147.value.IndexOf("|*|") >= 0;
    if (codigo) {
        document.entrega.submit();
    }
}
Me retorna este error:
Cita:
Error: document.forms.entrega.codigopdf147.value.IndexOf is not a function
Archivo de origen: http://localhost/sql/js/dkolor.js
Línea: 18
2da versión
Código:
function verificaParentesis() {
    var codigo = document.getElementById('codigopdf147').value.IndexOf("|*|") >= 0;
    if (codigo) {
        document.entrega.submit();
    }
}
Me retorna este error:
Cita:
Error: document.getElementById("codigopdf147").value.Inde xOf is not a function
Archivo de origen: http://localhost/sql/js/dkolor.js
Línea: 18
Y la llamada a la función la hago así:
Código:
<input type="text" value="" size="25" id="codigopdf147" name="codigopdf147" onchange="javascript: verificaParentesis(); "/>
Que es donde me imagino que debería ir, ya que lo que quiero es que inmediatamente que aparezca el "|*|" me envie la pagina para procesarla y no tener la necesidad de darle click en el boton para enviarla.

Que es lo que estoy haciendo mal?

Salu2
__________________
Ing. Reynier Pérez Mira
  #7 (permalink)  
Antiguo 05/07/2006, 09:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
¡Ie, je!... por lo que veo (a simple vista), te vas a arrancar los pelos cuando te diga el error (espero que lo sea y cerramos el tema)...
indexOf tiene solo la "o" en mayúscula... y estás usando la "i" también en mayúsculas... (javascript puede ser un poco "puñetero")

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 05/07/2006, 10:02
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Bueno ...

Lo he cambiado y ahora al menos me da otro error:
Cita:
Error: document.entrega has no properties
Archivo de origen: http://localhost/sql/js/dkolor.js
Línea: 20
"entrega" es el id del formulario que se debe enviar. Lo otro que pasa es que no me envia la pagina automatica sino que tengo que hacer click en alguna parte de documento para que ejecute la función. O sea para explicar un poco mejor: escribo "cvcxvcv" e imagino que ahi vaya comprobando luego escribo "|*|" y se supone que si me estuviera ejecutando al funcion la pagina se enviara para procesarla, cierto? Pues no me hace nada

Salu2 y gracias por tus respuestas
__________________
Ing. Reynier Pérez Mira
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:34.