Foros del Web » Programando para Internet » Javascript »

validar un textbox en que se introduce montos

Estas en el tema de validar un textbox en que se introduce montos en el foro de Javascript en Foros del Web. hola amigos, tengo la siguiente duda, como puedo validar un textbox en el cual tengo que ingresar un monto y obviamente para monto se manejan ...
  #1 (permalink)  
Antiguo 21/05/2009, 07:26
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años
Puntos: 3
validar un textbox en que se introduce montos

hola amigos, tengo la siguiente duda, como puedo validar un textbox en el cual tengo que ingresar un monto y obviamente para monto se manejan miles y comas.
el problema es cuando ingreso por ejemplo 12.654,56 el php solo me toma en cuenta el 12.65.
Solamente cuando ingreso 12654.56 recien el php me lanza resultados correctos.

como puedo hacer que no se me lanze un mensaje de alerta, o que cambie el 12.654,56 por 12654.56.

ojala me puedan ayudar.
  #2 (permalink)  
Antiguo 21/05/2009, 10:28
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años
Puntos: 3
Respuesta: validar un textbox en que se introduce montos

encontre esto en el faq, de javascript, pero no quiero que el formato del numero sea 12,345.67 sino sea 12345.67 sigo analizando las funciones, ojala me puedan ayudar con eso :D

Código HTML:
<html>
 <head>
<script>
function NumberFormat(num, numDec, decSep, thousandSep)
{
var arg;
var Dec;
Dec = Math.pow(10, numDec); 
if (typeof(num) == 'undefined') return; 
	if (typeof(decSep) == 'undefined') decSep = ',';
		if (typeof(thousandSep) == 'undefined') thousandSep = '.';
			if (thousandSep == '.')
 	arg=/./g;
else
if (thousandSep == ',') arg=/,/g;
	if (typeof(arg) != 'undefined') num = num.toString().replace(arg,'');
num = num.toString().replace(/,/g, '.'); 
if (isNaN(num)) num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num * Dec + 0.50000000001);
cents = num % Dec;
num = Math.floor(num/Dec).toString(); 
if (cents < (Dec / 10)) cents = "0" + cents; 
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
 num = num.substring(0, num.length - (4 * i + 3)) + thousandSep + num.substring(num.length - (4 * i + 3));
if (Dec == 1)
 return (((sign)? '': '-') + num);
else
 return (((sign)? '': '-') + num + decSep + cents);
} 

//valida dejando ingresar solamente numeros y puntos
//de la forma:......type="text" onkeypress="EvaluateText('%f', this);"
function EvaluateText(cadena, obj){
	opc = false; 
	if (cadena == "%d")
	 if (event.keyCode > 47 && event.keyCode < 58)
	  opc = true;
	if (cadena == "%f"){ 
	 if (event.keyCode > 47 && event.keyCode < 58)
	  opc = true;
	 if (obj.value.search("[.*]") == -1 && obj.value.length != 0)
	  if (event.keyCode == 46)
	   opc = true;
	}
	if(opc == false)
	 event.returnValue = false; 
}
</script>
 </head>
 <body>
  
  <form name="frm">
   Teclee cualquier número y presione la tecla <tab><br>
   <input name="input1" onkeypress="EvaluateText('%f', this);" onBlur="this.value = NumberFormat(this.value, '2', '.', ',')" type="text" size="15" value="500034567"><br><br>
  </form>
 </body>
</html> 
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 15:30.