elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false  (Leído 6,005 veces)
demonstrator

Desconectado Desconectado

Mensajes: 19


Ver Perfil
PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false
« en: 9 Septiembre 2014, 07:34 am »

Saludos colegas tengo una duda: Por que cuando comparo de input text uno que me muestra un valor numerico de una cosulta a una tabla y otro que me recibe  un numero por teclado al hacer la comparacion de por ejemplo

10  <  2 me da false!! 

el numero 10 es el valor de recibo de la consulta a la base de datos y el 2 es el numero que yo ingreso por teclado

ya he hecho pruebas y encontre que si en cambio en el input text de teclado ingreso el mismo numero pero de la siguiente manera si hace correctamente la comparacion

10  <  02 de esta forma si da true!! alguien podria comentar que puede estar sucediendo? y como podria resolverlo?


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false
« Respuesta #1 en: 9 Septiembre 2014, 07:42 am »

que tal si empiezas por el codigo :P

usa las etiquetas GeSHi... y creo que tengo idea de cual es tu problema, pero ver el código lo confirmará o no


« Última modificación: 9 Septiembre 2014, 07:46 am por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
demonstrator

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false
« Respuesta #2 en: 9 Septiembre 2014, 08:17 am »

Este es el codigo javascript donde hago la recoleccion de diversos datos de otros inputs entre ellos el del valor "quty" el cual quiero comparar o verificar que sea menor o igual que otro campo que obtengo por una consulta el cual se llama "stock"
en esta parte:
Código
  1. document.getElementById('quty').value<=document.getElementById('stock').value && document.getElementById('quty').value!="0" && document.getElementById('quty').value!=""


codigo de funcion completa:
Código
  1. function add_values(){
  2.         if(unique_check()){
  3.  
  4.         if(document.getElementById('edit_guid').value==""){
  5.     if(document.getElementById('item').value!="" && document.getElementById('quty').value<=document.getElementById('stock').value && document.getElementById('quty').value!="0" && document.getElementById('quty').value!="" && document.getElementById('cost').value!="" && document.getElementById('total').value!=""){
  6.     code=document.getElementById('item').value;
  7.  
  8.    quty=document.getElementById('quty').value;
  9.    cost=document.getElementById('cost').value;
  10.    sell=document.getElementById('sell').value;
  11.    disc=document.getElementById('stock').value;
  12.    total=document.getElementById('total').value;
  13.    item=document.getElementById('guid').value;
  14.    main_total=document.getElementById('pos_total').value;
  15.    roll=parseInt(document.getElementById('roll_no').value);
este es el input que recibe por teclado:
Código
  1. <td><input name=""  type="text" id="quty"  maxlength="200"   class="round default-width-input my_with" onKeyPress="quantity_chnage(event);return numbersonly(event);" onkeyup="total_amount();unique_check()"    /></td>
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false
« Respuesta #3 en: 9 Septiembre 2014, 08:31 am »

si, era lo que creía... el asunto es que cuando lees los "value" te lo traes en formato string


es decir el está comparando palabras... para corregir eso usa parseInt



Código
  1. parseInt(document.getElementById('quty').value)<=parseInt(document.getElementById('stock').value)
  2.  

eso lo que hará es convertirlos a valores enteros y ahí si la comparación numérica es valida...

te recomiendo aprender jQuery.... resumiría un poco tu codigo y es mucho más facil de manejar basicamente

Código
  1. if(document.getElementById('item').value!="" && document.getElementById('quty').value<=document.getElementById('stock').value && document.getElementById('quty').value!="0" && document.getElementById('quty').value!="" && document.getElementById('cost').value!="" && document.getElementById('total').value!="")

quedaría

Código
  1. if($("#item").val()!="" &&
  2.    parseInt($("#quty").val())<=parseInt($("#stock").val()) &&
  3.    parseInt($("#quty").val())>0 &&
  4.    $("#cost").val()!="" &&
  5.    $("#total").val()!=""
  6. ){
  7.  
  8. )

haciendo el codigo más visible y manejable... a demás los selectores que usa son los de css que son muy poderosos :P

aqui un tuto :P
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
demonstrator

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false
« Respuesta #4 en: 9 Septiembre 2014, 08:40 am »

Ya andamos de vuelta nada mas para comentarles que ya encontre la solucion y es que me hacia falta hacerle un parseo como int al valor capturado como teclado ya que la tabla la he configurado como que acepte para el campo de la consulta valores int, con esto se ha solucionado el problema les comparto lo que agregue:

Código
  1.  
  2. parseInt(document.getElementById('quty').value)<=document.getElementById('stock')

Y es que ya habia hecho la prueba de poner el parseInt en un proceso que ocurre despues de la comparacion y observe si hacia la conversion solo que al querer agregarlo en esta parte me daba un error de sintaxis y no hallaba la razon error de dedo supongo de cualquier forma seguire haciendo pruebas a ver con detalle me encuentro pero por ahora la duda esta solucionada muchas gracias engel lex al parecer me ganaste a publicar y si al parecer estabamos en la misma sincronia y por lo del jquery te comento que soy nuevo en el mundo del desarrollo web soy ingeniero de control y automatizacion husmeando en estos nuevos horizontes espero primero conocer mas sobre javascript y php y luego pasarme a jquery
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false
« Respuesta #5 en: 9 Septiembre 2014, 08:44 am »

no, no es pasarte, jquery es una libreria para jscript, es muy potente y resume mucho los procesos, por lo menos dale una ojeada al tutorial y mira como facilita todo ;)
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false
« Respuesta #6 en: 10 Septiembre 2014, 05:13 am »

Alguien ya había tenido un problema similar antes. Por regla, siempre cualquier valor que venga de un formulario será en String.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Input TEXT cambiando de color al click?
Desarrollo Web
MinusFour 4 3,549 Último mensaje 11 Abril 2013, 00:24 am
por l337*
XSS en input text
Nivel Web
tonoan 2 2,984 Último mensaje 24 Agosto 2012, 20:11 pm
por BlackZeroX
De un select a un input typet='text'
Desarrollo Web
Enigma_Hash 6 5,440 Último mensaje 12 Abril 2013, 07:45 am
por Enigma_Hash
De un select a un input typet='text'
Programación General
Enigma_Hash 1 2,246 Último mensaje 10 Abril 2013, 22:15 pm
por Puntoinfinito
Obtener datos de INPUT-TEXT usando javascript, pasarlos a funcion php con ajax
PHP
demonstrator 2 3,961 Último mensaje 8 Septiembre 2014, 16:21 pm
por demonstrator
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines