Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/11/2011, 12:38
Avatar de arcanisgk122
arcanisgk122
 
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 6 meses
Puntos: 28
Respuesta: acortar script

he logrado convertir el script en una sola llamada a funcion pero no logro simplificarlo creo que 1 llamada a funcion para cada elemento es mucho.

Código Javascript:
Ver original
  1. var global= new Array(0, 0, 0, 0, 0);
  2.        
  3.         function calcula1(data, elemSelect, indiceArray){
  4.             var pfrs= data.options[data.selectedIndex].value;
  5.             document.form1.frs.value = pfrs;
  6.             var pointset= parseInt(elemSelect.options[elemSelect.selectedIndex].text);
  7.             var datpast= global[indiceArray];
  8.             var atrset= document.getElementById("atr");
  9.             var atrpoint= parseInt(atrset.value);
  10.             atrpoint=atrpoint-datpast;
  11.             atrset.value=atrpoint+pointset;
  12.             global[indiceArray]=pointset;
  13.             document.form1.pdes.disabled=this.value!='';
  14.             }
  15.         function calcula2(data, elemSelect, indiceArray){
  16.             var pdes= data.options[data.selectedIndex].value;
  17.             document.form1.des.value = pdes;
  18.             var pointset= parseInt(elemSelect.options[elemSelect.selectedIndex].text);
  19.             var datpast= global[indiceArray];
  20.             var atrset= document.getElementById("atr");
  21.             var atrpoint= parseInt(atrset.value);
  22.             atrpoint=atrpoint-datpast;
  23.             atrset.value=atrpoint+pointset;
  24.             global[indiceArray]=pointset;
  25.             document.form1.pdes.disabled=this.value!='';
  26.             }
  27.         function calcula3(data, elemSelect, indiceArray){
  28.             var psab= data.options[data.selectedIndex].value;
  29.             document.form1.sab.value = psab;
  30.             var pointset= parseInt(elemSelect.options[elemSelect.selectedIndex].text);
  31.             var datpast= global[indiceArray];
  32.             var atrset= document.getElementById("atr");
  33.             var atrpoint= parseInt(atrset.value);
  34.             atrpoint=atrpoint-datpast;
  35.             atrset.value=atrpoint+pointset;
  36.             global[indiceArray]=pointset;
  37.             document.form1.psab.disabled=this.value!='';
  38.             }

alguna idea?
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB