Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2011, 02:36
MunkyheaD84
 
Fecha de Ingreso: octubre-2011
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Función con parámetros variables

Hola a todos.

A ver tengo un problema bastante grande, espero que me lo solucionen. Tengo que realizar un ejercicio en Javascript en que tiene que pedir al usuario cuantos parámetros va a tener la función, el valor de cada uno, llamarla y hacer su suma.

De momento he realizado una función llamada "calculardatos()" que hace la suma de X parámetros. Por ejemplo en el evento onclick de un formulario hago:

onclick="calculardatos(2,3,4)"... y da correcto, o sea 8.
onclick="calculardatos(2,1,5,4,3,6)... y también da correcto, es decir, 21

Ahora me falta la parte de como hacer que el usuario entre el numero de parámetros (o sea "3" o "4" los que sean que ya está hecho) y luego un valor para cada uno (lo hice mediante prompts dentro de un bucle for).

Pero como llamar al evento (en este caso "onclick") para que por ejemplo el usuario haya entrado "3" parámetros, con respectivamente (p. ej) "2" "3" y "2".
Les pongo lo que llevo hasta ahora.

Código:
<script>

var nParamsGlobal = 0 ;
var cadena = "javascript:calculardatos(";



function calculardatos (){
	var suma = 0;
	var numeros = calculardatos.arguments[0];
    
	document.write("Invocación recibida" + "<br/>");
	
    for (x=0; x<arguments.length; x++)	{
		suma = suma + numeros; 
		numeros = calculardatos.arguments[x+1];
    	//document.write(arguments[x] + "<br/>");
    }
	
	document.write("<br>" + suma);
}



nParamsGlobal = prompt("Introduzca un numero de parámetros:");

for (var cont = 0; cont < nParamsGlobal; cont++) {
	nParamActual = prompt("Introduzca el valor del "+(cont+1)+" parametro:");	
}


document.write(cadena);

//calculardatos(1,2,3);

</script>
</head>

<body>
<form>
<br />
	<input type="button" onclick= "calculardatos(1,2,3)" value="Activar Función">
    
</form>
Si esta forma es erronia me gustaria consejo para llevar a cabo tal ejercicio, o sea, pedir por pantalla el numero de parametros, el valor de cada uno y que luego se llame a la función y le haga la suma y la muestre por pantalla.

Mil gracias!