Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2009, 07:11
turminator
 
Fecha de Ingreso: enero-2006
Ubicación: Barcelona, España
Mensajes: 126
Antigüedad: 19 años
Puntos: 1
¿Como podría optimizar este script?

Hola!

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>