Foros del Web » Programando para Internet » Javascript »

adaptar script para que sea dinamico

Estas en el tema de adaptar script para que sea dinamico en el foro de Javascript en Foros del Web. buenas busco alguien que me ayude a adaptar el siguiente script para que sea dinámico agradezco toda la colaboración @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver ...
  #1 (permalink)  
Antiguo 14/11/2011, 16:52
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
adaptar script para que sea dinamico

buenas busco alguien que me ayude a adaptar el siguiente script para que sea dinámico agradezco toda la colaboración

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function calcula1(){
  3.     var operf1 = document.getElementById("pfrs");
  4.     var operando1 = operf1.selectedIndex;
  5.     var ope1 = operf1.options[operando1];
  6.     var pfrs = ope1.value;
  7.     document.form1.frs.value = pfrs;}
  8. function calcula2(){
  9.     var operf2 = document.getElementById("pdes");
  10.     var operando2 = operf2.selectedIndex;
  11.     var ope2 = operf2.options[operando2];
  12.     var pdes = ope2.value;
  13.     document.form1.des.value = pdes;}
  14. </script>

este script trabaja con el siguiente html:

Código HTML:
Ver original
  1. <form name="form1" method="post" id="form1" action="nchar.php" >
  2.         <label>
  3.             <select id="pfrs" name="pfrs" size="1" onchange="calcula1(this.options.selectedIndex);statpoint(this.options.selectedIndex.text)">
  4.                 <option value="5">-50</option>
  5.                 <option value="6">-40</option>
  6.                 <option value="7">-30</option>
  7.                 <option value="8">-20</option>
  8.                 <option value="9">-10</option>
  9.                 <option value="10" selected="selected">0</option>
  10.                 <option value="11">10</option>
  11.                 <option value="12">20</option>
  12.                 <option value="13">30</option>
  13.                 <option value="14">45</option>
  14.                 <option value="15">60</option>
  15.                 <option value="16">80</option>
  16.                 <option value="17">100</option>
  17.                 <option value="18">125</option>
  18.                 <option value="19">150</option>
  19.                 <option value="20">200</option>
  20.             </select><input type="text" name="frs" id="frs" value="10" maxlength="3" size="4" readonly="readonly"/><br />
  21.             <select id="pdes" name="pdes" size="1" onchange="calcula2(this.options.selectedIndex);statpoint(this.options.selectedIndex)">
  22.                 <option value="5">-50</option>
  23.                 <option value="6">-40</option>
  24.                 <option value="7">-30</option>
  25.                 <option value="8">-20</option>
  26.                 <option value="9">-10</option>
  27.                 <option value="10" selected="selected">0</option>
  28.                 <option value="11">10</option>
  29.                 <option value="12">20</option>
  30.                 <option value="13">30</option>
  31.                 <option value="14">45</option>
  32.                 <option value="15">60</option>
  33.                 <option value="16">80</option>
  34.                 <option value="17">100</option>
  35.                 <option value="18">125</option>
  36.                 <option value="19">150</option>
  37.                 <option value="20">200</option>
  38.             </select><input type="text" name="des" id="des" value="10" maxlength="3" size="4" readonly="readonly" /><br />
  39. <input name="atr" id="atr" value="0" readonly="readonly" /> <input type="submit" value="Continuar" />
  40.     </form>

no encuentro la forma de convertirlo en una sola función.
__________________
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
  #2 (permalink)  
Antiguo 14/11/2011, 17:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: adaptar script para que sea dinamico

Si le das ids unicos a ambos puedes hacerlo:
Código Javascript:
Ver original
  1. function calcular(selId, textId) {
  2.      var select = document.getElementById(selId);
  3.      var option = select[select.selectedIndex].value;
  4.      document.getElementById(textId).value = option;
  5. }

Saludos.
  #3 (permalink)  
Antiguo 14/11/2011, 17:31
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: adaptar script para que sea dinamico

cada uno tiene un id distinto statico y pues como esto va dirigido a un archivo php luego para almacenar la info en una base de datos no se cual sea la sintaxis correcta...
__________________
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
  #4 (permalink)  
Antiguo 15/11/2011, 16:23
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: adaptar script para que sea dinamico

des pues de varios intento no he logrado hacerlo funcionar para trabajar con una sola función, actualizo el post con lo que tengo hasta el momento:

Script

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

Codigo html select options y mas:

Código HTML:
Ver original
  1. <form name="form1" method="post" id="form1" action="nchar.php" >
  2.         <label>
  3.             <select id="pfrs" name="pfrs" size="1" onchange="calcula1(this.options.selectedIndex);statpoint(this, 0)">
  4.                 <option value="5">-50</option>
  5.                 <option value="6">-40</option>
  6.                 <option value="7">-30</option>
  7.                 <option value="8">-20</option>
  8.                 <option value="9">-10</option>
  9.                 <option value="10" selected="selected">0</option>
  10.                 <option value="11">10</option>
  11.                 <option value="12">20</option>
  12.                 <option value="13">30</option>
  13.                 <option value="14">45</option>
  14.                 <option value="15">60</option>
  15.                 <option value="16">80</option>
  16.                 <option value="17">100</option>
  17.                 <option value="18">125</option>
  18.                 <option value="19">150</option>
  19.                 <option value="20">200</option>
  20.             </select>
  21.             <input type="text" name="frs" id="frs" value="10" maxlength="3" size="4" readonly="readonly"/>
  22.             <br />
  23.             <select id="pdes" name="pdes" size="1" onchange="calcula2(this.options.selectedIndex);statpoint(this, 1)">
  24.                 <option value="5">-50</option>
  25.                 <option value="6">-40</option>
  26.                 <option value="7">-30</option>
  27.                 <option value="8">-20</option>
  28.                 <option value="9">-10</option>
  29.                 <option value="10" selected="selected">0</option>
  30.                 <option value="11">10</option>
  31.                 <option value="12">20</option>
  32.                 <option value="13">30</option>
  33.                 <option value="14">45</option>
  34.                 <option value="15">60</option>
  35.                 <option value="16">80</option>
  36.                 <option value="17">100</option>
  37.                 <option value="18">125</option>
  38.                 <option value="19">150</option>
  39.                 <option value="20">200</option>
  40.             </select>
  41.             <input type="text" name="des" id="des" value="10" maxlength="3" size="4" readonly="readonly" />
  42.             <br />
  43.             <select id="psab" name="psab" size="1" onchange="calcula3(this.options.selectedIndex);statpoint(this, 2)">
  44.                 <option value="5">-50</option>
  45.                 <option value="6">-40</option>
  46.                 <option value="7">-30</option>
  47.                 <option value="8">-20</option>
  48.                 <option value="9">-10</option>
  49.                 <option value="10" selected="selected">0</option>
  50.                 <option value="11">10</option>
  51.                 <option value="12">20</option>
  52.                 <option value="13">30</option>
  53.                 <option value="14">45</option>
  54.                 <option value="15">60</option>
  55.                 <option value="16">80</option>
  56.                 <option value="17">100</option>
  57.                 <option value="18">125</option>
  58.                 <option value="19">150</option>
  59.                 <option value="20">200</option>
  60.             </select>
  61.             <input type="text" name="sab" id="sab" value="10" maxlength="3" size="4" readonly="readonly" />
  62.             <br />
  63.             <select id="pvig" name="pvig" size="1" onchange="calcula4(this.options.selectedIndex);statpoint(this, 3)">
  64.                 <option value="5">-50</option>
  65.                 <option value="6">-40</option>
  66.                 <option value="7">-30</option>
  67.                 <option value="8">-20</option>
  68.                 <option value="9">-10</option>
  69.                 <option value="10" selected="selected">0</option>
  70.                 <option value="11">10</option>
  71.                 <option value="12">20</option>
  72.                 <option value="13">30</option>
  73.                 <option value="14">45</option>
  74.                 <option value="15">60</option>
  75.                 <option value="16">80</option>
  76.                 <option value="17">100</option>
  77.                 <option value="18">125</option>
  78.                 <option value="19">150</option>
  79.                 <option value="20">200</option>
  80.             </select>
  81.             <input type="text" name="vig" id="vig" value="10" maxlength="3" size="4" readonly="readonly" />
  82.             <br />
  83.             <select id="pesp" name="pesp" size="1" onchange="calcula5(this.options.selectedIndex);statpoint(this, 4)">
  84.                 <option value="1" selected="selected">0</option>
  85.                 <option value="2">50</option>
  86.                 <option value="3">100</option>
  87.                 <option value="4">150</option>
  88.                 <option value="5">200</option>
  89.                 <option value="6">250</option>
  90.                 <option value="7">300</option>
  91.                 <option value="8">350</option>
  92.                 <option value="9">400</option>
  93.                 <option value="10">450</option>
  94.             </select>
  95.             <input type="text" name="esp" id="esp" value="1" maxlength="3" size="4" readonly="readonly" />
  96.             <br />
  97.             <input name="atr" id="atr" value="0" readonly="readonly" />
  98.         </label>
  99.     </form>

agradezco si alguien puede aportar algo a como simplificar el código javascript
__________________
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

Etiquetas: dinamico, html, input, php, adaptador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:15.