Funcion y dato oculto

Iniciado por jcbaniela, 14 Abril 2013, 17:30 PM

0 Miembros y 3 Visitantes están viendo este tema.

jcbaniela

Algún dia sabré como, de momento voy aprendiendo poco a poco. Muchas gracias por la ayuda.
La primera parte del código funciona perfectamente (muchas gracias por vuestros aportes), pero la segunda función llamada getotal() no quiere. Además me gustaría que el resultado de la primera función que sale en <p id="demo"></p>, y que uso en el segunda, no se muestre en el navegador.

<!DOCTYPE html>
<html>
<body>

<p>Cálculo del Gasto Energético Total</p>
<p>El gasto energético total es la cantidad absoluta de calorías que quema nuestro organismo a diario debido a diferentes actividades. Depende de tres factores: el gasto energético en reposo o metabolismo basal, la termogénesis inducida por la dieta, y la actividad física. Para mantener el peso estable es necesario que la energía que se ingiere en forma de alimentos sea equivalente a la que se gasta en mantener nuestras funciones vitales y nuestra actividad diaria.</p>
<form>
<table width="420" border="1">
 <tr>
   <td width="140">Sexo: M o F</td>
   <td width="147"><select name="sexo" id="sexo">    
      <option value="M" selected="selected">Masculino</option>
      <option value="F">Femenino</option>      
  </select></td>
   <td width="241" rowspan="5"><p id="gmbkcal"></p></td>
 </tr>
 <tr>
   <td>Peso (Kg):</td>
   <td><input id="peso" value="80" /></td>
   </tr>
 <tr>
   <td>Talla (m):</td>
   <td><input id="talla" value="1.85" /></td>
   </tr>
 <tr>
   <td>Edad:</td>
   <td><input type="text" id="edad" /></td>
   </tr>
 <tr>
   <td>Actividad:</td>
   <td>
  <select name="actividad" id="actividad">    
      <option value="sedentaria" selected="selected">Sedentaria</option>
      <option value="ligera">Ligera</option>
      <option value="media">Media</option>
  <option value="muy activa">Muy Activa</option>
      <option value="extrema">Extrema</option>
  </select></td>
   </tr>
</table>
<input type="button" onClick="calculo(); getotal();" value="Resultado" />
</form>

<p id="demo"></p>

<script>

function calculo(){
var z = document.getElementById("sexo").value;
var y = document.getElementById("talla").value;
var t = document.getElementById("peso").value;
var p = document.getElementById("edad").value;

var a=66.473;
var b=13.752;
var c=b*t;
var d=5.0033;
var e=100;
var f=y*e;
var g=d*f;
var h=6.755;
var i=h*p;
var j=655.0955;
var k=9.563;
var l=k*t;
var m=1.8496;
var o=m*f;
var q=4.6756;
var r=q*p;
var s=(a+c+g-i).toFixed(0);
var u=(j+l+o-r).toFixed(0);
var v = 0;

if (z=="M" || z=="m")
 {
 v=s;
 }
if (z=="F" || z=="f")
 {
 v=u;
 }
 
document.getElementById("demo").innerHTML=v+" Kcal";
}
</script>

<script>
funcion getotal(){
var get=document.getElementById("demo").value;
var act=document.getElementById("actividad").value;
var fija=1.1;
var sed=1;
var lig=1.2;
var med=1.4;
var mac=1.6;
var ext=1.8;
var gmb="";

if (act=="sedentaria")
 {
 gmb=get*fija*sed
 }
if (act=="ligera")
 {
 gmb=get*fija*lig
 }
if (act=="media")
 {
 gmb=get*fija*med
 }
if (act=="muy activa")
 {
 gmb=get*fija*mac
 }
if (act=="extrema")
 {
 gmb=get*fija*ext
 }

document.getElementById("gmbkcal").innerHTML=gmb+" Kcal";
}
</script>

</body>
</html>

Phantasy

No entra porque tienes puesto FUNCION, en vez de FUNCTION. De todas formas te da un valor erroneo. Mira a ver si ya que sabes ese error lo puedes solucionar, sino dimelo.

Un saludo.

jcbaniela

Muchas gracias Phantasy, da gusto con este foro. He cambiado alguna cosa del código pero todavía no he dado en el clavo. Se nota que soy muy novato, pero para eso esta el echo de aprender. Me han mencionado que estaba usando como variable una palabra reservada, y he buscado en algun manual, pero no caigo. Copio el último código.

<!DOCTYPE html>
<html>
<body>

<p>Cálculo del Gasto Energético Total</p>
<p>El gasto energético total es la cantidad absoluta de calorías que quema nuestro organismo a diario debido a diferentes actividades. Depende de tres factores: el gasto energético en reposo o metabolismo basal, la termogénesis inducida por la dieta, y la actividad física. Para mantener el peso estable es necesario que la energía que se ingiere en forma de alimentos sea equivalente a la que se gasta en mantener nuestras funciones vitales y nuestra actividad diaria.</p>
<form>
<table width="420" border="1">
  <tr>
    <td width="140">Sexo: M o F</td>
    <td width="147"><select name="sexo" id="sexo">   
       <option value="M" selected="selected">Masculino</option>
       <option value="F">Femenino</option>       
   </select></td>
    <td width="241" rowspan="5"><p id="gmbkcal"></p></td>
  </tr>
  <tr>
    <td>Peso (Kg):</td>
    <td><input id="peso" value="80" /></td>
    </tr>
  <tr>
    <td>Talla (m):</td>
    <td><input id="talla" value="1.85" /></td>
    </tr>
  <tr>
    <td>Edad:</td>
    <td><input type="text" id="edad" /></td>
    </tr>
  <tr>
    <td>Actividad:</td>
    <td>
   <select name="actividad" id="actividad">   
       <option value="sedentaria" selected="selected">Sedentaria</option>
       <option value="ligera">Ligera</option>
       <option value="media">Media</option>
   <option value="muy activa">Muy Activa</option>
       <option value="extrema">Extrema</option>
   </select></td>
    </tr>
</table>
<input type="button" onClick="calculo(); getotal();" value="Resultado" />
</form>

<p id="demo"> Kcal</p>

<script>

function calculo(){
var z = document.getElementById("sexo").value;
var y = document.getElementById("talla").value;
var t = document.getElementById("peso").value;
var p = document.getElementById("edad").value;

var a=66.473;
var b=13.752;
var c=b*t;
var d=5.0033;
var e=100;
var f=y*e;
var g=d*f;
var h=6.755;
var i=h*p;
var j=655.0955;
var k=9.563;
var l=k*t;
var m=1.8496;
var o=m*f;
var q=4.6756;
var r=q*p;
var s=(a+c+g-i).toFixed(0);
var u=(j+l+o-r).toFixed(0);
var v = 0;

if (z=="M" || z=="m")
  {
  v=s;
  }
if (z=="F" || z=="f")
  {
  v=u;
  }
   
document.getElementById("demo").innerHTML=v;
}
</script>

<script>
function getotal(){
var gasto=document.getElementById("demo").value;
var act=document.getElementById("actividad").value;
var fija=1.1;
var sed=1;
var lig=1.2;
var med=1.4;
var muya=1.6;
var ext=1.8;
var gmb="";

if (act=="sedentaria")
  {
  gmb=gasto*fija*sed
  }
if (act=="ligera")
  {
  gmb=gasto*fija*lig
  }
if (act=="media")
  {
  gmb=gasto*fija*med
  }
if (act=="muy activa")
  {
  gmb=gasto*fija*muya
  }
if (act=="extrema")
  {
  gmb=gasto*fija*ext
  }

document.getElementById("gmbkcal").innerHTML=gmb+" Kcal";
}
</script>

</body>
</html>

jcbaniela

he echo unos cambios, pero creo que no me estoy dando cuenta del error, porque sigue saliendo mal. (además de no dar ocultado el dato que saldría en <p id="demo"></p> Copio el código. Muchas gracias.

<!DOCTYPE html>
<html>
<body>

<p>Cálculo del Gasto Energético Total</p>
<p>El gasto energético total es la cantidad absoluta de calorías que quema nuestro organismo a diario debido a diferentes actividades. Depende de tres factores: el gasto energético en reposo o metabolismo basal, la termogénesis inducida por la dieta, y la actividad física. Para mantener el peso estable es necesario que la energía que se ingiere en forma de alimentos sea equivalente a la que se gasta en mantener nuestras funciones vitales y nuestra actividad diaria.</p>
<form>
<table width="420" border="1">
  <tr>
    <td width="140">Sexo: M o F</td>
    <td width="147"><select name="sexo" id="sexo">   
       <option value="M" selected="selected">Masculino</option>
       <option value="F">Femenino</option>       
   </select></td>
    <td width="241" rowspan="5"><p id="gmbkcal"></p></td>
  </tr>
  <tr>
    <td>Peso (Kg):</td>
    <td><input id="peso" value="80" /></td>
    </tr>
  <tr>
    <td>Talla (m):</td>
    <td><input id="talla" value="1.85" /></td>
    </tr>
  <tr>
    <td>Edad:</td>
    <td><input type="text" id="edad" /></td>
    </tr>
  <tr>
    <td>Actividad:</td>
    <td>
   <select name="actividad" id="actividad">   
       <option value="sedentaria" selected="selected">Sedentaria</option>
       <option value="ligera">Ligera</option>
       <option value="media">Media</option>
   <option value="muy activa">Muy Activa</option>
       <option value="extrema">Extrema</option>
   </select></td>
    </tr>
</table>
<input type="button" onClick="calculo(); getotal();" value="Resultado" />
</form>

<p id="demo"></p>

<script>

function calculo(){
var z = document.getElementById("sexo").value;
var y = document.getElementById("talla").value;
var t = document.getElementById("peso").value;
var p = document.getElementById("edad").value;

var a=66.473;
var b=13.752;
var c=b*t;
var d=5.0033;
var e=100;
var f=y*e;
var g=d*f;
var h=6.755;
var i=h*p;
var j=655.0955;
var k=9.563;
var l=k*t;
var m=1.8496;
var o=m*f;
var q=4.6756;
var r=q*p;
var s=(a+c+g-i).toFixed(0);
var u=(j+l+o-r).toFixed(0);
var v = 0;

if (z=="M" || z=="m")
  {
  v=s;
  }
if (z=="F" || z=="f")
  {
  v=u;
  }
   
document.getElementById("demo").innerHTML=v;
}
</script>

<script>
function getotal(){
var gasto=document.getElementById("demo");
gener = parseInt(gasto.value);
var act=document.getElementById("actividad").value;
var fija=1.1;
var sed=1;
var lig=1.2;
var med=1.4;
var muya=1.6;
var ext=1.8;
var gmb="";

if (act=="sedentaria")
  {
  gmb=gener*fija*sed
  }
if (act=="ligera")
  {
  gmb=gener*fija*lig
  }
if (act=="media")
  {
  gmb=gener*fija*med
  }
if (act=="muy activa")
  {
  gmb=gener*fija*muya
  }
if (act=="extrema")
  {
  gmb=gener*fija*ext
  }

document.getElementById("gmbkcal").innerHTML=gmb+" Kcal";
}
</script>

</body>
</html>

jcbaniela

Hola y gracias,

ya he conseguido que se obtenga el resultado que quiero. Ahora solo necesito que no se muestre el resultado que aparece en <p id="demo"></p> (y que utilizo para obtener el resultado anterior). Pero si borro esa linea, no funciona.

<!DOCTYPE html>
<html>
<body>

<p>Cálculo del Gasto Energético Total</p>
<p>El gasto energético total es la cantidad absoluta de calorías que quema nuestro organismo a diario debido a diferentes actividades. Depende de tres factores: el gasto energético en reposo o metabolismo basal, la termogénesis inducida por la dieta, y la actividad física. Para mantener el peso estable es necesario que la energía que se ingiere en forma de alimentos sea equivalente a la que se gasta en mantener nuestras funciones vitales y nuestra actividad diaria.</p>
<form>
<table width="420" border="1">
  <tr>
    <td width="140">Sexo: M o F</td>
    <td width="147"><select name="sexo" id="sexo">   
       <option value="M" selected="selected">Masculino</option>
       <option value="F">Femenino</option>       
   </select></td>
    <td width="241" rowspan="5"><p id="gmbkcal"></p></td>
  </tr>
  <tr>
    <td>Peso (Kg):</td>
    <td><input id="peso" value="80" /></td>
    </tr>
  <tr>
    <td>Talla (m):</td>
    <td><input id="talla" value="1.85" /></td>
    </tr>
  <tr>
    <td>Edad:</td>
    <td><input type="text" id="edad" /></td>
    </tr>
  <tr>
    <td>Actividad:</td>
    <td>
   <select name="actividad" id="actividad">   
       <option value="sedentaria" selected="selected">Sedentaria</option>
       <option value="ligera">Ligera</option>
       <option value="media">Media</option>
   <option value="muy activa">Muy Activa</option>
       <option value="extrema">Extrema</option>
   </select></td>
    </tr>
</table>
<input type="button" onClick="calculo(); getotal();" value="Resultado" />
</form>

<p id="demo"></p>

<script>

function calculo(){
var z = document.getElementById("sexo").value;
var y = document.getElementById("talla").value;
var t = document.getElementById("peso").value;
var p = document.getElementById("edad").value;

var a=66.473;
var b=13.752;
var c=b*t;
var d=5.0033;
var e=100;
var f=y*e;
var g=d*f;
var h=6.755;
var i=h*p;
var j=655.0955;
var k=9.563;
var l=k*t;
var m=1.8496;
var o=m*f;
var q=4.6756;
var r=q*p;
var s=(a+c+g-i).toFixed(0);
var u=(j+l+o-r).toFixed(0);
var v = 0;

if (z=="M" || z=="m")
  {
  v=s;
  }
if (z=="F" || z=="f")
  {
  v=u;
  }
   
document.getElementById("demo").innerHTML=v;
}
</script>

<script>
function getotal(){
var gasto=document.getElementById("demo");
gener = parseInt(gasto.textContent);
var act=document.getElementById("actividad").value;
var fija=1.1;
var sed=1;
var lig=1.2;
var med=1.4;
var muya=1.6;
var ext=1.8;
var gmb="";

if (act=="sedentaria")
  {
  gmb=gener*fija*sed
  }
if (act=="ligera")
  {
  gmb=gener*fija*lig
  }
if (act=="media")
  {
  gmb=gener*fija*med
  }
if (act=="muy activa")
  {
  gmb=gener*fija*muya
  }
if (act=="extrema")
  {
  gmb=gener*fija*ext
  }

document.getElementById("gmbkcal").innerHTML=gmb.toFixed(0)+" Kcal";
}
</script>

</body>
</html>

jcbaniela

Pues he decidido solucionar así el problema que tenía para ocultar los datos que no quería que se viesen en el navegador, pero que sí necesitaba para realizar los cálculos.
Muchas gracias.

<!DOCTYPE html>
<html>
<body>

<p>Cálculo de Objetivo Calórico Diario</p>
<p>El objetivo calórico diario es la cantidad de calorías que debes ingerir aproximadamente para conseguir tu objetivo, ya sea perder peso, como ganar volumen o simplemente mantener tu peso.</p>
<form>
<table width="420" border="1">
  <tr>
    <td width="140">Sexo: M o F</td>
    <td width="147"><select name="sexo" id="sexo">   
       <option value="M" selected="selected">Masculino</option>
       <option value="F">Femenino</option>       
   </select></td>
    <td width="241" rowspan="6"><p id="ocdkcal"></p></td>
  </tr>
  <tr>
    <td>Peso (Kg):</td>
    <td><input id="peso" value="80" /></td>
    </tr>
  <tr>
    <td>Talla (m):</td>
    <td><input id="talla" value="1.85" /></td>
    </tr>
  <tr>
    <td>Edad:</td>
    <td><input type="text" id="edad" /></td>
    </tr>
  <tr>
    <td>Actividad:</td>
    <td>
   <select name="actividad" id="actividad">   
       <option value="sedentaria" selected="selected">Sedentaria</option>
       <option value="ligera">Ligera</option>
       <option value="media">Media</option>
   <option value="muy activa">Muy Activa</option>
       <option value="extrema">Extrema</option>
   </select></td>
    </tr>
  <tr>
    <td>Objetivo:</td>
    <td><select name="objetivo" id="objetivo">   
       <option value="perder peso" selected="selected">Perder Peso</option>
       <option value="definicion">Definición</option>
       <option value="ganar peso">Ganar Peso</option>
   <option value="volumen">Volumen</option>
       <option value="mantenimiento">Mantenimiento</option>
   </select></td></td>
    </tr>
</table>
<input type="button" onClick="calculo(); getotal(); ocdiario()" value="Resultado" />
</form>

<input style="visibility:hidden" id="demo" type="text"/>
<input style="visibility:hidden" id="gmbkcal" type="text"/>

<script>

function calculo(){
var z = document.getElementById("sexo").value;
var y = document.getElementById("talla").value;
var t = document.getElementById("peso").value;
var p = document.getElementById("edad").value;

var a=66.473;
var b=13.752;
var c=b*t;
var d=5.0033;
var e=100;
var f=y*e;
var g=d*f;
var h=6.755;
var i=h*p;
var j=655.0955;
var k=9.563;
var l=k*t;
var m=1.8496;
var o=m*f;
var q=4.6756;
var r=q*p;
var s=(a+c+g-i).toFixed(0);
var u=(j+l+o-r).toFixed(0);
var v = 0;

if (z=="M" || z=="m")
  {
  v=s;
  }
if (z=="F" || z=="f")
  {
  v=u;
  }
   
document.getElementById("demo").innerHTML=v;
}
</script>

<script>
function getotal(){
var gasto=document.getElementById("demo");
gener = parseInt(gasto.textContent);
var act=document.getElementById("actividad").value;
var fija=1.1;
var sed=1;
var lig=1.2;
var med=1.4;
var muya=1.6;
var ext=1.8;
var gmb="";

if (act=="sedentaria")
  {
  gmb=gener*fija*sed
  }
if (act=="ligera")
  {
  gmb=gener*fija*lig
  }
if (act=="media")
  {
  gmb=gener*fija*med
  }
if (act=="muy activa")
  {
  gmb=gener*fija*muya
  }
if (act=="extrema")
  {
  gmb=gener*fija*ext
  }

document.getElementById("gmbkcal").innerHTML=gmb.toFixed(0);
}
</script>

<script>
function ocdiario(){
var gocd=document.getElementById("gmbkcal");
gcocd = parseInt(gocd.textContent);
var obj=document.getElementById("objetivo").value;
var diez=gcocd*0.1;
var quince=gcocd*0.15;
var ocd="";

if (obj=="perder peso")
  {
  ocd=gcocd-diez
  }
if (obj=="definicion")
  {
  ocd=gcocd-quince
  }
if (obj=="ganar peso")
  {
  ocd=gcocd+diez
  }
if (obj=="volumen")
  {
  ocd=gcocd+quince
  }
if (obj=="mantenimiento")
  {
  ocd=gcocd
  }

document.getElementById("ocdkcal").innerHTML=ocd.toFixed(0)+"Kcal";
}
</script>


</body>
</html>