Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/07/2010, 19:15
sathory
 
Fecha de Ingreso: julio-2010
Mensajes: 16
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Añadir textbox segun numero

hola de nuevo, me sirvio mucho la ayuda que me diste jokuto, gracias

ya he avanzado un poco en el codigo y han surgido otros problemas en los que espero me puedan ayudar

1. Cuando trato de correr el codigo con varios datos unos 30 mas o menos, se queda quieto no hace nada, y no entiendo el porque >.< (con pocos numeros si halla el promedio y la desviacion estandar)

2. Algo que quisiera agregar al final es la opcion de volver a empezar ya se como sacar la ventana con las 2 opciones el problema esta en como hacer para que vuelva al inicio a cuando no estaban los textbox y esperaba la cantidad de datos que queria.

Se agradece cualquier ayuda :)

Dejo el codigo de como lo llevo hasta el momento
Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
		<script language="javascript" type="text/javascript">
			function revisa(valor)

			{
				var valido=0
				for (var i = 0; i < valor.length; i++) 
				{
					var caracter = valor.substring(i, i+1)
					if (caracter != "0" && caracter != "1" && caracter != "2" && caracter != "3" && caracter != "4" && caracter != "5" && caracter != "6" && caracter != "7" && caracter != "8" && caracter != "9" && valido==0) 
					{
							alert("Solo estan permitidos los numeros enteros")
							valido++ 
							
									
					}
					
				 } 
				 if(valor=="")
				 {
				 	alert("Ingrese algun entero para empezar")
					valido++
				 }
				 if(valor>100)
				 {
				 	alert("El valor maximo es 100")
				 	valido++
				 }
				 if(valido>0)
				 {document.inicio.cantidad.value=""}
				 else
				 {  document.inicio.cantidad.disabled = this.value!=''
				    document.inicio.acepta.disabled = this.value!=''
					document.inicio.activa.disabled = false;
				 	document.getElementById('lista').innerHTML='';
					for( j=1; j<=valor; j++)
					{
						var nl ="campo"+j
					    if(j != 20 && j!= 40 && j!=60 && j!=80  )
						document.getElementById('lista').innerHTML+= '<li><input type="text" name='+nl+'  onblur="revisa2(this.value, this.name)"></li>';
					
					}
				 }

			}
			function revisa2(valor, nombre)
			{
				var valido=0
				for (var i = 0; i < valor.length; i++) 
				{
					var caracter = valor.substring(i, i+1)
					if (caracter != "0" && caracter != "1" && caracter != "2" && caracter != "3" && caracter != "4" && caracter != "5" && caracter != "6" && caracter != "7" && caracter != "8" && caracter != "9") 
					{
							
							valido++ 
									
					}
				if(valido>0)
				 {
				 	
					document.inicio[nombre].value=""
				 }
					
				 } 
			}
			
			function trabaja()
			{
				var cd = eval(document.inicio.cantidad.value) + 3
				var sinvacios = 0;
				for(var a=3; a<cd; a++)
				{
					if(document.inicio[a].value=="")
					{alert("Faltan datos por ingresar"); sinvacios++; break;}
				}
				if (sinvacios == 0) {
					for (var i = 3; i < cd; i++) {
						for (var j = 3; j < cd; j++) {
							if (eval(document.inicio[i].value) < eval(document.inicio[j].value)) {
								var cambio = document.inicio[i].value;
								document.inicio[i].value = document.inicio[j].value;
								document.inicio[j].value = cambio;
							}
						}
					}
				}
				if (sinvacios == 0) 
				{
					var divi = eval(document.inicio.cantidad.value)
					var suma=0;
					for (var b = 3; b < divi+3; b++) 
					{
						
						suma = suma + eval(document.inicio[b].value)
					}
					var promedio = suma/divi;
					var desvi =0;
					for(var c=3; c<divi+3; c++)
					{
						var num = eval(document.inicio[c].value) - eval(promedio)
						desvi =  desvi + Math.pow(num,2)						
					}
					
					desvi = Math.sqrt(desvi/(divi-1))
					alert("El promedio es: " +promedio+ "\nLa desviacion estandar es: "+desvi)
					
				}
				

				
				
		 	}
			
			
			
			

			
	</script>
    </head>
    <body>
    	   	<form name="inicio" action="" method="post">
    	   	<label for "cantidad">Escriba la cantidad de datos: </label>
        	<input type="text" name="cantidad" id="cant_inicio">
			<input type="button" name="acepta" value="Aceptar" onclick="revisa(cantidad.value)"><br>
			<input type="button" name="activa" value="Activar" onclick="trabaja()" disabled = "true">
			<ul id="lista"></ul>

			<h5>(Enteros entre 1 y 100)</h5>
			
			
			</form>
			
			
    </body>
</html>