Foros del Web » Programando para Internet » Javascript »

Ayuda con keypress

Estas en el tema de Ayuda con keypress en el foro de Javascript en Foros del Web. Ayudenme por favor. Miren este código en JavaScript : function pCancela(){ var nvalor = 0; var vmovimi = parseFloat(document.forms[0].val_movimi.value); var tcambio = parseFloat(document.forms[0].val_tcambio.value); nvalor = ...
  #1 (permalink)  
Antiguo 18/03/2005, 18:29
 
Fecha de Ingreso: agosto-2003
Ubicación: Lima
Mensajes: 123
Antigüedad: 20 años, 8 meses
Puntos: 3
Ayuda con keypress

Ayudenme por favor.

Miren este código en JavaScript:

function pCancela(){
var nvalor = 0;
var vmovimi = parseFloat(document.forms[0].val_movimi.value);
var tcambio = parseFloat(document.forms[0].val_tcambio.value);

nvalor = (vmovimi * tcambio);
//nvalor = parseFloat(vmovimi * tcambio);

if (!isNaN(nvalor)){
document.frm.val_movcon.value = nvalor;
}else{
document.frm.val_movcon.value = '';
}
}


Asi lo llamo en HTML:

<input type='hidden' name='val_tcambio' value='<?=$val_tcambio;?>'>
<input type='text' name='val_movimi' onKeyPress="gIngFloat(),pCancela()">
<input type='text' name='val_movcon' readonly>


El problema es:

Cuando voy digitando el valor va calculando la conversión al tipo de cambio, pero solo del penultimo valor digitado.

Ejemplo:

digito: 5 resultado: nada
digito: 5. resultado: 16.2850
digito: 5.9 resultado: 16.2850
digito: 5.96 resultado: 16.2163
digito: 5.960 resultado: 16.4117

Te das cuenta que tendria que digitar ese cero para tener el valor adecuado.
Sabes cual es la solucion?
Que función empleo para redondear ell resultado a dos decimales, y/o formatear la salida a 2 decimales? : 16.41

Gracias por la ayuda!
  #2 (permalink)  
Antiguo 18/03/2005, 18:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
.. me parecio ver algo hacerca del redondeo en las FAQ de este foro.
respecto a tu error.. supongo el error esta en la condición del if().. no manejo JavaScript, disculpa.
¿qué hace isNaN?... es_entero? es_nulo?

La mejor de las suertes!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 19/03/2005, 03:59
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola vcayob

Cambia onkeypress por onkeyup

jam1138: isNaN sirve para averiguar si un valor no es un número (is Not a Number)

Saludos,
  #4 (permalink)  
Antiguo 28/03/2005, 19:32
 
Fecha de Ingreso: agosto-2003
Ubicación: Lima
Mensajes: 123
Antigüedad: 20 años, 8 meses
Puntos: 3
Muchas gracias compañeros, ya pude solucionar el problema con onkeyup.
  #5 (permalink)  
Antiguo 29/03/2005, 04:25
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Me alegro de que lo hayas logrado ¡Arribas las teclas!
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 00:17.