Foros del Web » Programando para Internet » Javascript »

comportamiento raro (o soy yo)

Estas en el tema de comportamiento raro (o soy yo) en el foro de Javascript en Foros del Web. Buenas, les comento mi situación.- tengo una caja de texto, esta tiene la condicion onkeyup="bucle ()" llamo a bucle.... dentro de la funcion bucle tengo ...
  #1 (permalink)  
Antiguo 10/10/2008, 07:10
Usuario no validado
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
comportamiento raro (o soy yo)

Buenas, les comento mi situación.-

tengo una caja de texto, esta tiene la condicion onkeyup="bucle ()"

llamo a bucle....
dentro de la funcion bucle tengo un bucle en while, es un poco rebuscado todo el codigo (ademas sin sentido), pero digamos que es algo parecido a esto:

<script>

function bucle () {

var cantmat = eval(document.getElementById('cantmat').value);
var n = 0;
var numero=1;

while (n<cantmat){

var t1 = 'b'+numero;
var t2 = 'a'+numero;

tp = eval(document.getElementById(t1).value);

temp=tp+500;

document.getElementById(t2).value=temp;

n++;
numero++;

alert(termino el bucle);
}
alert(termino la funcion);
}
</script>


Bien, el codigo es mas complejo, realiza muchas operaciones y actualiza campos, bueno el tema es que despues del while, no me ejecuta nada... o sea el "alert(termino la funcion);" nunca lo ejecuta... y yo necesito sumar un par de valores mas fuera del bucle.... alguna idea de que puede estar sucediendo ??

ACLARO: Todo dentro de la funcion funca... ( hasta el "alert(termino el bucle);" )

Saludos!
  #2 (permalink)  
Antiguo 10/10/2008, 07:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: comportamiento raro (o soy yo)

Sin ver todo el código no se me ocurre por qué pueda ser, tal vez algún error en el código (¿Has mirado la Consola de Errores?), o un return.

Otra cosa, NO uses eval de esa forma , al parecer estás queriendo usarlo para convertir a número ¿o me equivoco?, si ese es el objetivo usa parseInt, porque eval lo que hace es interpretar una cadena como código.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 10/10/2008, 07:28
Usuario no validado
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: comportamiento raro (o soy yo)

mmm revise la consola... no vi nada raro... :S

o sea q remplazo eval por parseint? no debo cambiar nada en el codigo ??
  #4 (permalink)  
Antiguo 10/10/2008, 07:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: comportamiento raro (o soy yo)

Si lo que quieres es convertir a número el valor del input usa parseInt, si lo quieres como texto así como está solo quita el eval.
Código javascript:
Ver original
  1. variable = elemento.value; //Texto
  2. variable = parseInt(elemento.value); //Convertir a número
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 10/10/2008, 07:36
Usuario no validado
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: comportamiento raro (o soy yo)

explicacion del eval:

desarrolloweb.com/faq/332.php
  #6 (permalink)  
Antiguo 10/10/2008, 07:37
Usuario no validado
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: comportamiento raro (o soy yo)

David, esta bien, el uso del eval es indiferente en el codigo, ese no es el motivo xq no sigue ejecutando mui funcion despues del while :S ....alguna idea ?
  #7 (permalink)  
Antiguo 10/10/2008, 07:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: comportamiento raro (o soy yo)

Pregunto, ¿qué piensas tú exactamente que hace el eval en esa parte de tu código? .

Si pones la función completa tal vez podamos saber por qué no se ejecuta la última parte.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 09:07.