Hola.
Cita:
Iniciado por Adler
Intenta evitar usar el mismo nombre para una variable y un campo.
var operando1 = document.calc.operando1.value
No vas a concatenar los elementos, sino sumarlos o multiplicarlos, así que sería suficiente
var result1 = (operando1 * operando3);
var result2 = (operando2 * operando3);
var result3 = (operando4 + operando5);
Suerte
Supongo que no se debe usar el mismo nombre de variable que de campo, para no llevar a posible confusión, pero he de decirte que no da error y no hay problema en hacerlo. Por lo menos yo siempre lo he hecho así.
Por otra parte, si te fijas, el
eval() es necesario en este caso porque lo que se pasa por argumento es
la accion de la operación, es decir, si se suma o se multiplica (en forma de string). Lo que si es verdad es que no tiene mucho sentido si no vamos a reutilizar la misma función con distintas acciones: ponerlo directamente sería más cómodo.
Lo que me intriga es, ¿porque el evento asignado a los botones es on
change? Con
onclick funciona perfectamente... ¿No te has dado cuenta que si metes un
alert() en cualquiera de las funciones no se ejecuta? ¿Ni de que tampoco da ningún error aunque no funcione? Que yo sepa, un
elemento button no tiene
onchange...
Un saludo.