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

bueno si he logrado hacerlo funcionar pero tengo otro inconveniente es que el script es repetitivo y quería ver si se puede acortar a una sola función:

Código Javascript:
Ver original
  1. function calcula1(data){
  2.         var pfrs= data.options[data.selectedIndex].value;
  3.         document.form1.frs.value = pfrs;
  4.         document.form1.pfrs.disabled=this.value!='';
  5.     }
  6.     function calcula2(data){
  7.         var pdes= data.options[data.selectedIndex].value;
  8.         document.form1.des.value = pdes;
  9.         document.form1.pdes.disabled=this.value!='';
  10.     }
  11.     function calcula3(data){
  12.         var psab= data.options[data.selectedIndex].value;
  13.         document.form1.sab.value = psab;
  14.         document.form1.psab.disabled=this.value!='';
  15.     }
  16.     var global= new Array(0, 0, 0, 0, 0);
  17.     function statpoint(elemSelect, indiceArray){
  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.     }

Código HTML:
Ver original
  1. <select title="Selecciona los puntos de fuerza - ALERTA (ESTA OPCION SE BLOQUEARA)" id="pfrs" name="pfrs" size="1" onchange="calcula1(this);statpoint(this, 0)">
  2.     <option value="10" selected="selected">0</option>
  3.     <option value="11">10</option>
  4.     <option value="12">20</option>
  5.     <option value="13">30</option>
  6.     <option value="14">45</option>
  7.     <option value="15">60</option>
  8.     <option value="16">80</option>
  9.     <option value="17">100</option>
  10.     <option value="18">125</option>
  11.     <option value="19">150</option>
  12.     <option value="20">200</option>
  13. <input type="text" name="frs" id="frs" value="10" maxlength="3" size="4" readonly="readonly"/>
  14. <select title="Selecciona los puntos de destreza - ALERTA (ESTA OPCION SE BLOQUEARA)" id="pdes" name="pdes" size="1" onchange="calcula2(this);statpoint(this, 1)">
  15.     <option value="10" selected="selected">0</option>
  16.     <option value="11">10</option>
  17.     <option value="12">20</option>
  18.     <option value="13">30</option>
  19.     <option value="14">45</option>
  20.     <option value="15">60</option>
  21.     <option value="16">80</option>
  22.     <option value="17">100</option>
  23.     <option value="18">125</option>
  24.     <option value="19">150</option>
  25.     <option value="20">200</option>
  26. <input type="text" name="des" id="des" value="10" maxlength="3" size="4" readonly="readonly"/>
  27. <select title="Selecciona los puntos de saber - ALERTA (ESTA OPCION SE BLOQUEARA)" id="psab" name="psab" size="1" onchange="calcula3(this);statpoint(this, 2)">
  28. <option value="10" selected="selected">0</option>
  29.     <option value="11">10</option>
  30.     <option value="12">20</option>
  31.     <option value="13">30</option>
  32.     <option value="14">45</option>
  33.     <option value="15">60</option>
  34.     <option value="16">80</option>
  35.     <option value="17">100</option>
  36.     <option value="18">125</option>
  37.     <option value="19">150</option>
  38.     <option value="20">200</option>
  39. <input type="text" name="sab" id="sab" value="10" maxlength="3" size="4" readonly="readonly"/>
  40. <input name="atr" id="atr" value="0" readonly="readonly" />
__________________
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