Finalmente he conseguido hacer mi primer script con la ayuda desinteresada de p3rikl3s, muchas gracias!
Creo que funciona todo correctamente, pero veo que repito una función tres veces seguidas y otra función dos veces más. Me gustaria saber si hay algun modo reducir todo este código y en caso de ser cierto, que deberia de hacer?
Muchas gracias!
Código:
<script language="javascript"> function multiplica1(form){ var resultado; var x=0; var kglu = 4.1; var kptes = 4.2; var klip = 9.3; x = parseFloat (form.num1.value); resultado = x * kglu; form.res1.value=resultado; } </script> <script language="javascript"> function multiplica2(form){ var resultado; var x=0; var kglu = 4.1; var kptes = 4.2; var klip = 9.3; y = parseFloat (form.num2.value); resultado = y * klip; form.res2.value=resultado; } </script> <script language="javascript"> function multiplica3(form){ var resultado; var x=0; var kglu = 4.1; var kptes = 4.2; var klip = 9.3; z = parseFloat (form.num3.value); resultado = z * kptes; form.res3.value=resultado; } </script> <script language="javascript"> function suma1(form){ var resultado; x = parseFloat (form.num1.value); y = parseFloat (form.num2.value); z = parseFloat (form.num3.value); resultado = x + y + z; form.num4.value=resultado; } </script> <script language="javascript"> function suma2(form){ var resultado; x = parseFloat (form.res1.value); y = parseFloat (form.res2.value); z = parseFloat (form.res3.value); resultado = x + y + z; form.res4.value=resultado; } </script> <form> <TABLE BORDER=1 CELLPADDING=8> <TR> <TD></TD><TD>Gramos consumidos</TD><TD>KCalorías consumidas</TD></TR> <tr><td>Hidratos de carbono</td><td><input name="num1" type="text" value="" onBlur="multiplica1(this.form)"/></td><td><input name="res1" type="text" value=""/></td></tr> <tr> <td>Lípidos</td><td><input name="num2" type="text" value="" onBlur="multiplica2(this.form)"/></td><TD><input name="res2" type="text" value=""/></TD></tr> <tr> <td>Proteínas</td><td><input name="num3" type="text" value="" onBlur="multiplica3(this.form)"/></td><td><input name="res3" type="text" value="" onBlur="suma1(this.form)"/></td></tr> <tr> <td>Total</td><td><input name="num4" type="text" value=""/></td><td><input name="res4" type="text" value="" onBlur="suma2(this.form)"/></td></tr> </table> </form>