Foros del Web » Programando para Internet » Javascript »

Ayuda Con Esta Funcion por favor

Estas en el tema de Ayuda Con Esta Funcion por favor en el foro de Javascript en Foros del Web. Que tal amigos No entiendo por que no canciona siempre esta funcion en el head: Código PHP: function  ValidaCosto ( p ) {        cto  ...
  #1 (permalink)  
Antiguo 31/01/2008, 08:07
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Pregunta Ayuda Con Esta Funcion por favor

Que tal amigos

No entiendo por que no canciona siempre esta funcion

en el head:
Código PHP:
function ValidaCosto(p)
{
      
cto document.getElementById('costo'+p).value;
      
val document.getElementById('val'+p).value;
      if (
cto 1)
      {
         if (
val cto)
         {
            
alert("Valor debe ser igual o superior al costo");
            
document.getElementById('val'+p).value "";
         }
      }
      else
      {
         
alert("Producto sin costo o con costo negativo.... revise por favor");
     
document.getElementById('ite'+p).value ="";
     
document.getElementById('desc'+p).value ="";
     
document.getElementById('can'+p).value ="";
     
document.getElementById('uni'+p).value="";
     
document.getElementById('emp'+p).value="";
     
document.getElementById('ubi'+p).value="";
     
document.getElementById('sal'+p).value="";
     
document.getElementById('ube'+p).value="";
     
document.getElementById('ue'+p).value="";
     
document.getElementById('us'+p).value="";
     
document.getElementById('se'+p).value="";
     
document.getElementById('ser'+p).value="";
     
document.getElementById('lo'+p).value="";
     
document.getElementById('lot'+p).value="";
     
document.getElementById('val'+p).value="";
     
document.getElementById('iva'+p).value="";
     
document.getElementById('de'+p).value="";
     
document.getElementById('costo'+p).value="";
      }

En el form:
Código PHP:
             echo "<td><input type='text' id='val$p' value='".$mat_movil[$p]['valor'] . "' MAXLENGTH=15 onChange='ValidaCosto($p);' onkeypress='return handleEnter(this, event)' name='val[$p]' style='width: 80;'></td>";

            echo 
"<input type='hidden' id='costo$p' value='".$mat_movil[$p]['costo']."' name='costo[$p]'  >"
Aqui: $p=0;
$cto$p = 1000

La idea es que valide que la variable val no sea menor que la variable cto. Si la primera vez val es menor que cto reliza bien la validacion y saca el mesaje ok. Si nuevamente ingreso en val un valor menor que cto no informa el error y deja continuar el proceso

La verdad no entiendo mucho de JavaScript pero me parece curioso que esa validacion no me cancione siempre

Agradezco de antemano sus valiosos aportes

Un Cordial Saludo
  #2 (permalink)  
Antiguo 31/01/2008, 08:21
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 19 años, 11 meses
Puntos: 25
Re: Ayuda Con Esta Funcion por favor

Fíjate si la segunda vez llega a entrar en la función. Pon un alerte al principio para ver si entra y porqué if pasa.

el evento onchange sólo se dispara cuando ha cambiado y se pierde el foco.

A ver qué pasa.
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles
  #3 (permalink)  
Antiguo 31/01/2008, 09:08
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Re: Ayuda Con Esta Funcion por favor

Que tal eContento

Gracias por responder....

Efectivamente hice eso antes de postear este tema.

La verdad es que llegan correctos los valores (val < cto) y por eso es que estoy como entre loco y bobo con esto. Lo curioso es esto: La primera vez hice que cto = 1000 y val = 100 y lo valida bien (aparece el mensaje Valor debe ser igual o superior al costo). La segunda vez val = 200 y no aparece el mensaje. La tercera vez doy val = 100 y aparece de nuevo el mensaje

Todo parece indicar que la variable val nunca cambia desde la primera vez a pesar de que val llega con el valor que le digito en el form y solo aparece el mensaje cuando hago val = 100

Un Cordial Saludo
  #4 (permalink)  
Antiguo 31/01/2008, 09:25
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Re: Ayuda Con Esta Funcion por favor

Hola de nuevo....

Otra cosa curiosa con esto: siguiendo el ejemplo anterior, valor inicial para val = 100, si los valores posteriores son 1 y 10 la funcion canciona como debe ser (muestra el mensaje), pero si doy val = 3 o val = 15, o sea valores diferentes a 1, 10 y 100 no canciona y como dige, al llegar a la funcion el valor para val es el que digito en ese momento (3, 2, 56, 90, 10, 1, etc, etc)

Un Cordial Saludo
  #5 (permalink)  
Antiguo 31/01/2008, 09:45
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Re: Ayuda Con Esta Funcion por favor

Listo... solucionado.

Era solo poner en la funcion

Código PHP:
val parseInt(document.getElementById('val'+p).value);
cto parseInt(document.getElementById('costo'+p).value); 
Mil gracias de nuevo

Un Cordial Saludo
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 12:49.