Foros del Web » Programando para Internet » Javascript »

Generar Función Genérica

Estas en el tema de Generar Función Genérica en el foro de Javascript en Foros del Web. Saludos. Tengo la siguiente función: Código HTML: function sumar() { elem_1 = (isNaN(document.guardar["a1"].value)) ? "0" : document.guardar["a1"].value; elem_2 = (isNaN(document.guardar["a2"].value)) ? "0" : document.guardar["a2"].value; elem_3 ...
  #1 (permalink)  
Antiguo 13/08/2004, 09:06
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 4 meses
Puntos: 1
Generar Función Genérica

Saludos.

Tengo la siguiente función:

Código HTML:
function sumar() {
elem_1 = (isNaN(document.guardar["a1"].value)) ? "0" : document.guardar["a1"].value;
elem_2 = (isNaN(document.guardar["a2"].value)) ? "0" : document.guardar["a2"].value;
elem_3 = (isNaN(document.guardar["a3"].value)) ? "0" : document.guardar["a3"].value;
	
var dat=0;
var dec_dat=2;

dat=parseFloat(elem_1) + parseFloat(elem_2) + parseFloat(elem_3);
datf=Math.round(dat * Math.pow(10, dec_dat)) / Math.pow(10, dec_dat);
document.guardar.DAT.value = datf;
}
Ahora lo que quiero es generar una función que me funcione para x cantidad de campos.

Con ayuda de un for indicando cuantas veces la a dar la vuelta y cuales son los campos donde debe preguntar, pro no se como escribirlo en Javascript
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.

Última edición por José Molina; 13/08/2004 a las 10:31
  #2 (permalink)  
Antiguo 13/08/2004, 10:33
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 4 meses
Puntos: 1
Listo !!

La función quedaría así:

Código HTML:
function sumar_varios() {
    var a=sumar_varios.arguments;
	a[a.length-1].value=0;	
	for(var i=0;i < a.length-1;i++)
	{
     if(isNaN(parseFloat(a[i].value))==false)
a[a.length-1].value=parseFloat(a[a.length-1].value)+parseFloat(a[i].value);
	}
		
	var sat=0;
	var dec_sat=2;

	a[a.length-1].value=Math.round(a[a.length-1].value * Math.pow(10, dec_sat)) / Math.pow(10, dec_sat);
	
}

y en el campo del formulario coloco lo siguiente:

Código HTML:
onkeyup="sumar_varios(document.guardar.a1,document.guardar.a2,document.guardar.a3)"
Gracias
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
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 13:18.