Foros del Web » Programando para Internet » Javascript »

No deja calcular nuevamente

Estas en el tema de No deja calcular nuevamente en el foro de Javascript en Foros del Web. Bueno gente avanzando con los problemas a resolver ene ste caso arme un calculador de imc pero.. me encuentro con que al poner el boton ...
  #1 (permalink)  
Antiguo 02/08/2013, 16:31
 
Fecha de Ingreso: agosto-2013
Ubicación: Buenos Aires
Mensajes: 11
Antigüedad: 11 años, 4 meses
Puntos: 0
No deja calcular nuevamente

Bueno gente avanzando con los problemas a resolver
ene ste caso arme un calculador de imc pero.. me encuentro con que
al poner el boton de reset una vez que borra los datos, no me deja volver a calcular
nuevamente :/ a que se debe esto? dejo el código para chekarlo gracias!

Código:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>

<script type="text/javascript">
 	
function imc()
	{
	peso = document.formulario.peso.value;
	altura = document.formulario.altura.value;
	imc=peso/(altura*altura);
	
	if(altura <= 0 || peso <=0){
		
		error = "necesita poner un numero valido";
		document.formulario.resultado.value = error;
	}else{
	
	document.formulario.resultado.value = imc;
	
	}

	}
function calcular()

{
	

    var i;
	imc = document.formulario.resultado.value;
	
	
    for (i=0;i<document.calcularrango.pregunta.length;i++){
		
       if (document.calcularrango.pregunta[i].checked){
		   
		 if(i==0){
			 
			if(imc==0){
	         marcado="Complete todos los campos";
			 document.calcularrango.resultado2.value = marcado;  
			
			
		 }else{
			  
			if(imc>=18 && imc<=24){
				 marcado="rango normal";
			 document.calcularrango.resultado2.value = marcado; 
			 }
			 
			 if(imc<=17){
				 marcado="Peso insuficiente";
			 document.calcularrango.resultado2.value = marcado; 
			 }
			 
			 if(imc>=25){
				 marcado="Usted tiene sobrepeso";
			 document.calcularrango.resultado2.value = marcado; 
			 }
			
		 
		 }
		 }
		 
         
		 if(i==1){
			 
			if(imc==0){
	
			  marcado="Complete todos los campos";
			 document.calcularrango.resultado2.value = marcado; 
			
				 
			 }else{
				 
			
			 marcado="Usted no quiso saber el parametro";
			 document.calcularrango.resultado2.value = marcado; 
		}
}

		  
	}

}
	
}
function resetear()
{
document.getElementById("formulario").value;

}


</script>

</head>

<body>
<form name="formulario" id="formulario"> 
      <p>Escriba su peso en Kg: 
        <input type="text" name="peso" /></p>
      <p> Escriba su altura en cm : 
        <input type="text" name="altura" /></p>
      <p><input type="button" value="Calcular imc" onclick="imc()" /> </p>
      <p>Resultado: <input type="text" name="resultado" /></p><p>  <input type="reset" value="Borrar información" onClick="resetear()"> </p>
</form>  
      
   
      
<form name="calcularrango">      
<p>  Desea saber si su peso esta dentro de los parametros normales </p>
   
    
<p><input type="radio" value="si" name="pregunta" id="pregunta_si"/> SI</p>
<p><input type="radio" value="no" name="pregunta" id="pregunta_no"/> NO  </p>
<input type="Button" name="" value="calcular" onclick="calcular()"> 
<p>Resultado: <input type="text" name="resultado2" /></p><p>  <input type="reset" value="Borrar información"> </p>
</form>

</body>
</html>
  #2 (permalink)  
Antiguo 02/08/2013, 16:41
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 12 años, 1 mes
Puntos: 10
Respuesta: No deja calcular nuevamente

Buenas jhonk86,

Te daba error por no tener declaradas las variables y tener funciones con el mismo nombre (creo). Prueba con este codigo, deberias usar firebug para comprobar estos errores:

Código HTML:
Ver original
  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>Documento sin título</title>
  4.  
  5. <script type="text/javascript">
  6.    
  7. function imc()
  8.     {
  9.     peso = document.formulario.peso.value;
  10.     altura = document.formulario.altura.value;
  11.     var imc=peso/(altura*altura);
  12.    
  13.     if(altura <= 0 || peso <=0){
  14.        
  15.         error = "necesita poner un numero valido";
  16.         document.formulario.resultado.value = error;
  17.     }else{
  18.    
  19.     document.formulario.resultado.value = imc;
  20.    
  21.     }
  22.  
  23.     }
  24. function calcular()
  25.  
  26. {
  27.    
  28.  
  29.    var i;
  30.     var imc = document.formulario.resultado.value;
  31.    
  32.    
  33.    for (i=0;i<document.calcularrango.pregunta.length;i++){
  34.        
  35.       if (document.calcularrango.pregunta[i].checked){
  36.            
  37.          if(i==0){
  38.              
  39.             if(imc==0){
  40.              marcado="Complete todos los campos";
  41.              document.calcularrango.resultado2.value = marcado;  
  42.            
  43.            
  44.          }else{
  45.              
  46.             if(imc>=18 && imc<=24){
  47.                  marcado="rango normal";
  48.              document.calcularrango.resultado2.value = marcado;
  49.              }
  50.              
  51.              if(imc<=17){
  52.                  marcado="Peso insuficiente";
  53.              document.calcularrango.resultado2.value = marcado;
  54.              }
  55.              
  56.              if(imc>=25){
  57.                  marcado="Usted tiene sobrepeso";
  58.              document.calcularrango.resultado2.value = marcado;
  59.              }
  60.            
  61.          
  62.          }
  63.          }
  64.          
  65.          
  66.          if(i==1){
  67.              
  68.             if(imc==0){
  69.    
  70.               marcado="Complete todos los campos";
  71.              document.calcularrango.resultado2.value = marcado;
  72.            
  73.                  
  74.              }else{
  75.                  
  76.            
  77.              marcado="Usted no quiso saber el parametro";
  78.              document.calcularrango.resultado2.value = marcado;
  79.         }
  80. }
  81.  
  82.          
  83.     }
  84.  
  85. }
  86.    
  87. }
  88. function resetear()
  89. {
  90. document.getElementById("formulario").value;
  91.  
  92. }
  93.  
  94.  
  95.  
  96. </head>
  97.  
  98. <form name="formulario" id="formulario">
  99.       <p>Escriba su peso en Kg:
  100.         <input type="text" name="peso" /></p>
  101.       <p> Escriba su altura en cm :
  102.         <input type="text" name="altura" /></p>
  103.       <p><input type="button" value="Calcular imc" onclick="imc()" /> </p>
  104.       <p>Resultado: <input type="text" name="resultado" /></p><p>  <input type="reset" value="Borrar información" onClick="resetear()"> </p>
  105. </form>  
  106.      
  107.    
  108.      
  109. <form name="calcularrango">      
  110. <p>  Desea saber si su peso esta dentro de los parametros normales </p>
  111.    
  112.    
  113. <p><input type="radio" value="si" name="pregunta" id="pregunta_si"/> SI</p>
  114. <p><input type="radio" value="no" name="pregunta" id="pregunta_no"/> NO  </p>
  115. <input type="Button" name="" value="calcular" onclick="calcular()">
  116. <p>Resultado: <input type="text" name="resultado2" /></p><p>  <input type="reset" value="Borrar información"> </p>
  117. </form>
  118.  
  119. </body>
  120. </html>

Un saludo!
  #3 (permalink)  
Antiguo 02/08/2013, 16:48
 
Fecha de Ingreso: agosto-2013
Ubicación: Buenos Aires
Mensajes: 11
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: No deja calcular nuevamente

Ahora anda de 10! Muchas gracias! :D no sabia eso de firebug para que sirve? otra consulta x si acaso hay una forma de que se resetee todo con un solo boton?
  #4 (permalink)  
Antiguo 02/08/2013, 17:32
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 12 años, 1 mes
Puntos: 10
Respuesta: No deja calcular nuevamente

Instalatelo en el firefox, y fliparas!.

Te dice los errores que tiene un codigo... bueno y muchas cosas mas. Mas que decirte los errores... te dice que hay un problema en tu codigo... descubrir el error seria tu tarea, jaja.

http://getfirebug.com/

Sin duda, la mejor herramienta de todas las creadas para crear webs.

:D

Si alguien tiene alguna alternativa... que comente.

Etiquetas: calcular, formulario, html, input
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 07:58.