Foros del Web » Programando para Internet » Javascript »

problema con variables dinamicas

Estas en el tema de problema con variables dinamicas en el foro de Javascript en Foros del Web. Buenas, tengo este código que genera una tabla con unos inputs y lo que quiero hacer es escribir valores en los input llamados suma y ...
  #1 (permalink)  
Antiguo 21/12/2013, 22:14
 
Fecha de Ingreso: octubre-2011
Mensajes: 1
Antigüedad: 12 años, 6 meses
Puntos: 0
problema con variables dinamicas

Buenas, tengo este código que genera una tabla con unos inputs y lo que quiero hacer es escribir valores en los input llamados suma y que los sume los input llamados jugador pero me he atascado y me da un valor nulo y no tengo ni idea de porqué puede ser...

Gracias

Código HTML:
<head>
<script language="Javascript">
function generartabla()
{ 	
	var i,n,j,p;
	n=prompt("Inserte número de jugadores (máximo 8)");
	p=100/n;
	if (n<9){
		//Genero los jugadores
		document.write("<tr style='height:20%;'>");
		for (i=1;i<=n;i++)
		{
			j=prompt("Escriba el nombre del jugador "+i );
			document.write("<th style='width:"+p+"%; text-align:center'>"+j+"</th>");
		}
		document.write("</tr>")
		//Genero los marcadores
		document.write("<tr>");
		for (i=1;i<=n;i++)
		{
			document.write("<td><center><input style='text-align:center;' name='jugador"+i+"' size='5' type='text' value='0' id='jugador"+i+"' /></center></td>");
		}
		document.write("</tr>")
		//Genero un separador
		document.write("<tr style='height:50px;'><td colspan='"+n+"' style='text-align:center'>Introduce las puntuaciones de la ronda actual y pulsa actualizar</td></tr>");
		//Genero la entrada de puntuación
		document.write("<tr>");
		for (i=1;i<=n;i++)
		{
			document.write("<td><center><input style='text-align:center;' value='' name='suma"+i+"' size='5' type='text' id='suma"+i+"' /></center></td>");
		}
		document.write("</tr>")
		//Botón Actualizar
		document.write("<tr><td colspan='"+n+"'><center><input name='actualizar' type='button' onclick='sumar(jugador1)' value='actualizar' /></center></td></tr>");
		
		
	}
	else {
		document.write("<h4>Error, máximo 8 jugadores</h4> Comienza de nuevo");
	}
	return 0;
} 
</script>
<script language="Javascript">
function sumar(j1)
{ 	
	var i,n;
	for (i=1;i<=8;i++)
		{
			eval( 'jugador'+i+'= document.getElementById("jugador"+i).value');
			eval( 'suma'+i+'= document.getElementById("suma"+i).value');
			valoractual = (parseInt("jugador"+i)+parseInt("suma"+i));
			document.getElementById("jugador"+i).value=valoractual;
		}

}
</script>

</head>

<body>

<table style=" width:100%; height:100%">
<script language="javascript">
generartabla();
</script>
</table>


</body> 
  #2 (permalink)  
Antiguo 22/12/2013, 11:20
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 meses
Puntos: 29
Respuesta: problema con variables dinamicas

Prueba así:
Código Javascript:
Ver original
  1. <script>
  2.    function sumar() {
  3.       var i, jug, sum;
  4.       for (i = 1; i <= 8; i++) {
  5.          //eval('jugador' + i + '= document.getElementById("jugador"+i).value');
  6.          //eval('suma' + i + '= document.getElementById("suma"+i).value');
  7.          //valoractual = (parseInt("jugador" + i) + parseInt("suma" + i));
  8.          //document.getElementById("jugador" + i).value = valoractual;
  9.          jug = parseInt(eval('jugador' + i + '= document.getElementById("jugador"+i).value'));
  10.          sum = parseInt(eval('suma' + i + '= document.getElementById("suma"+i).value'));
  11.          document.getElementById("jugador" + i).value = (eval("jug+sum"));
  12.       }
  13.    }
  14. </script>

Etiquetas: dinamicas, input, variables
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 12:06.