Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/03/2005, 15:16
angsanchez
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 20 años, 1 mes
Puntos: 3
Aquí lo tienes, a ver si te sirve:
Código HTML:
<head>
<script type="text/javascript">
function escribe(nm)
{	// nm es el número máximo de filas que se creará
	var tx = '<form>' +
	'<select name="cuantos" onChange="muestra(this)">' +
	'<option>elige</option>'
	for (var i=1; i<=nm; i++)
	{	tx += '<option>' + i + '</option>'
	}
	tx += '</select>'
	for (var i=1; i<=nm; i++)
	{	tx += '<div id="fila' + i + '" style="display:none;">' + i + '<input type="text"></div>'
	}
	tx += '</form>'
	document.write(tx)
}

function muestra(ctl)
{	var num = ctl.selectedIndex
	var i
	ctl.selectedIndex=0
	for (i=1; i<=num; i++)
	{	document.getElementById("fila"+i).style.display="block"
	}
	for (i=num+1; i<ctl.options.length; i++)
	{	document.getElementById("fila"+i).style.display="none"
	}
}

</script>
</head>

<body>
<script type="text/javascript">
escribe(9)
</script>
</body> 
Ten en cuenta que existen todos los controles (9 en el ejemplo, 44 en tu caso...), tan sólo están ocultos mediante CSS, por lo que conservan sus valores y si envías el formulario se enviarán todos; si no es eso lo que quieres, se podría jugar además con la propiedad "disabled".
__________________
Angel :cool:

Última edición por angsanchez; 18/03/2005 a las 15:24