Fonction de calcul avec liste déroulante
Bonjour tout le monde ! Cette fois si je créer ce topic car je ne trouve pas mon erreur :
J'ai un formulaire qui calcul le prix en fonction de la taille sauf que bien sur il ne le calcul pas alors que j'ai déjà fais d'autres fonctions du genre qui fonctionne mais sans liste déroulante.
Bref soit mon formulaire HTML :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| <form name="form1">
<fieldset>
<table>
<tr>
<th align="left"> <font size="4" color="black">Largeur entre les piliers :</font> </th>
<th align="left"> <input type = "text" name = "largp" size="20 "onBlur="calculer_portail_pvc_ill_de_re()"/> <font size=2>(max 5000)</font> </th>
</tr>
<tr>
<th align="left"><font size="4">Selectionnez une largeur</font></th>
<th align="left">
<select id="liste" size="1">
<option name="rien" selected></option>
<option name="5lisse" value="5lisse" onClick="calculer_portail_pvc_ill_de_re()()">832mm (5 lisses)</option>
<option name="6lisse" value="6lisse" onClick="calculer_portail_pvc_ill_de_re()">1000mm (6 lisses)</option>
<option name="7lisse" value="7lisse" onClick="calculer_portail_pvc_ill_de_re()">1168mm (7 lisses)</option>
<option name="8lisse" value="8lisse" onClick="calculer_portail_pvc_ill_de_re()">1336mm (8 lisses)</option>
<option name="9lisse" value="9lisse" onClick="calculer_portail_pvc_ill_de_re()">1504mm (9 lisses)</option>
<option name="10lisse" value="10lisse" onClick="calculer_portail_pvc_ill_de_re()">1672mm (10 lisses)</option>
<option name="11lisse" value="11lisse" onClick="calculer_portail_pvc_ill_de_re()">1840mm (11 lisses)</option>
</th>
</tr>
</fieldset>
<tr>
<th><font color="red"> les mesures sont en mm </font> </th>
</tr>
</table><br>
<b><u>Cochez si vous voulez certaines options :</u></b><br>
<input type="checkbox" name="couli4" onClick="calculer_portail_pvc_ill_de_re()" />Plus-value coullissant pour ossature 40x40 mm<br />
<input type="checkbox" name="couli5" onClick="calculer_portail_pvc_ill_de_re()"/>Plus-value coullissant pour ossature 50x50 mm<br />
<input type="checkbox" name="por_in" onClick="calculer_portail_pvc_ill_de_re()"/>Portail 2 vantaux inégaux (4m max)<br />
<input type="checkbox" name="sable" onClick="calculer_portail_pvc_ill_de_re()"/>Couleur sable<br />
<input type="checkbox" name="regulateur" onClick="calculer_portail_pvc_ill_de_re()"/>Régulateur de pente<br />
<input type="checkbox" name="kit_ouv" onClick="calculer_portail_pvc_ill_de_re()"/>Kit ouverture 180° ou vers l'extérieur<br />
<input type="checkbox" name="charn" onClick="calculer_portail_pvc_ill_de_re()"/>Charnière à paumelles<br />
<input type="checkbox" name="pose" onClick="calculer_portail_pvc_ill_de_re()"/>Pose en applique simple<br />
<input type="checkbox" name="Pot_pvc" onClick="calculer_portail_pvc_ill_de_re()"/>Poteau PVC 120x120<br />
<input type="checkbox" name="plat_met" onClick="calculer_portail_pvc_ill_de_re()"/>Platine métallique pour poteau 120*120<br />
<input type="checkbox" name="ossat_alu5" onClick="calculer_portail_pvc_ill_de_re()"/>Ossature alu 50x50<br />
<input type="checkbox" name="pot_char" onClick="calculer_portail_pvc_ill_de_re()"/>Poteau guide à la place du chariot guide<br />
<input type="checkbox" name="pot_sup" onClick="calculer_portail_pvc_ill_de_re()"/>Poteau guide supplémentaire pour grand coullissant (+4m)<br />
<input type="checkbox" name="bar_cont" onClick="calculer_portail_pvc_ill_de_re()"/>Barre de contreventement(hauteur>1.50m)<br />
<br>
<b><u>Cochez si vous voulez certaines options concernant la motorisation :</u></b><br>
<input type="checkbox" name="trav" onClick="calculer_portail_pvc_ill_de_re()" />Traverses renforcées pour motoriser un portail 2 vantaux<br />
<input type="checkbox" name="gach" onClick="calculer_portail_pvc_ill_de_re()" />Gâche électrique<br />
<input type="checkbox" name="crem" onClick="calculer_portail_pvc_ill_de_re()" />Cremaillère coulissant<br />
<input type="checkbox" name="renf" onClick="calculer_portail_pvc_ill_de_re()" />Renfort moteur roue<br />
<input type="checkbox" name="renf_m" onClick="calculer_portail_pvc_ill_de_re()" />Renfort pour moteur enterré<br />
</div>
<div style="position:absolute; top:10px; left:650px; Overflow:hidden;">
<img src="img/portail/ilderé.jpg" height="300" width="300">
<table>
<tr>
<th><input type="text" style="border:0px;font-size:20px;color:red;background-color:#F5F5F5;width:150px;" disabled="disabled" name="resultat" size="30" style="display:none"></th>
<th><font color="red">Le prix est en </font></th>
</tr>
</table>
</form> |
Et ici le Javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
|
function calculer_portail_pvc_ill_de_re()
{with(document.form1)
{
var lp=eval(largp.value);
var selectElmt = document.getElementById("liste");
var choix = selectElmt.options[selectElmt.selectedIndex].text;
// pour largeur <2500
if (lp<2500 && choix=="5lisse"){
var z=986;}
else if (lp<2500 && choix=="6lisse"){
var z=1001;}
else if (lp<2500 && choix=="7lisse"){
var z=1031;}
else if (lp<2500 && choix=="8lisse"){
var z=1078;}
else if (lp<2500 && choix=="9lisse"){
var z=1293;}
else if (lp<2500 && choix=="10lisse"){
var z=1313;}
else if (lp<2500 && choix=="11lisse"){
var z=1396;}
// pour 2500<largeur<3000
else if (lp>=2500 && lp<=3000 && choix=="5lisse"){
var z=1018;}
else if (lp>=2500 && lp<=3000 && choix=="6lisse"){
var z=1033;}
else if (lp>=2500 && lp<=3000 && choix=="7lisse"){
var z=1069;}
else if (lp>=2500 && lp<=3000 && choix=="8lisse"){
var z=1119;}
else if (lp>=2500 && lp<=3000 && choix=="9lisse"){
var z=1342;}
else if (lp>=2500 && lp<=3000 && choix=="10lisse"){
var z=1362;}
else if (lp>=2500 && lp<=3000 && choix=="11lisse"){
var z=1498;}
//pour 3001<largeur<3250
else if (lp>=3001 && lp<=3250 && choix=="5lisse"){
var z=1142;}
else if (lp>=3001 && lp<=3250 && choix=="6lisse"){
var z=1159;}
else if (lp>=3001 && lp<=3250 && choix=="7lisse"){
var z=1195;}
else if (lp>=3001 && lp<=3250 && choix=="8lisse"){
var z=1250;}
else if (lp>=3001 && lp<=3250 && choix=="9lisse"){
var z=1538;}
else if (lp>=3001 && lp<=3250 && choix=="10lisse"){
var z=1561;}
else if (lp>=3001 && lp<=3250 && choix=="11lisse"){
var z=1593;}
//pour largeur 3251<largeur<3500
else if (lp>=3251 && lp<=3500 && choix=="5lisse"){
var z=1234;}
else if (lp>=3251 && lp<=3500 && choix=="6lisse"){
var z=1252;}
else if (lp>=3251 && lp<=3500 && choix=="7lisse"){
var z=1274;}
else if (lp>=3251 && lp<=3500 && choix=="8lisse"){
var z=1336;}
else if (lp>=3251 && lp<=3500 && choix=="9lisse"){
var z=1579;}
else if (lp>=3251 && lp<=3500 && choix=="10lisse"){
var z=1603;}
else if (lp>=3251 && lp<=3500 && choix=="11lisse"){
var z=1639;}
//pour largeur 3501<largeur<3750
else if (lp>=3501 && lp<=3750 && choix=="5lisse"){
var z=1452;}
else if (lp>=3501 && lp<=3750 && choix=="6lisse"){
var z=1474;}
else if (lp>=3501 && lp<=3750 && choix=="7lisse"){
var z=1543;}
else if (lp>=3501 && lp<=3750 && choix=="8lisse"){
var z=1548;}
else if (lp>=3501 && lp<=3750 && choix=="9lisse"){
var z=1735;}
else if (lp>=3501 && lp<=3750 && choix=="10lisse"){
var z=1761;}
else if (lp>=3501 && lp<=3750 && choix=="11lisse"){
var z=1861;}
//pour largeur 3751<largeur<4000
else if (lp>=3751 && lp<=4000 && choix=="5lisse"){
var z=1571;}
else if (lp>=3751 && lp<=4000 && choix=="6lisse"){
var z=1594;}
else if (lp>=3751 && lp<=4000 && choix=="7lisse"){
var z=1643;}
else if (lp>=3751 && lp<=4000 && choix=="8lisse"){
var z=1719;}
else if (lp>=3751 && lp<=4000 && choix=="9lisse"){
var z=2029;}
else if (lp>=3751 && lp<=4000 && choix=="10lisse"){
var z=2059;}
else if (lp>=3751 && lp<=4000 && choix=="11lisse"){
var z=2112;}
//pour largeur 4001<largeur<4250
else if (lp>=4001 && lp<=4250 && choix=="5lisse"){
var z=1726;}
else if (lp>=4001 && lp<=4250 && choix=="6lisse"){
var z=1752;}
else if (lp>=4001 && lp<=4250 && choix=="7lisse"){
var z=1819;}
else if (lp>=4001 && lp<=4250 && choix=="8lisse"){
var z=2071;}
else if (lp>=4001 && lp<=4250 && choix=="9lisse"){
var z=2242;}
else if (lp>=4001 && lp<=4250 && choix=="10lisse"){
var z=2275;}
else if (lp>=4001 && lp<=4250 && choix=="11lisse"){
var z=2337;}
//pour largeur 4251<largeur<4500
else if (lp>=4251 && lp<=4500 && choix=="5lisse"){
var z=1867;}
else if (lp>=4251 && lp<=4500 && choix=="6lisse"){
var z=1895;}
else if (lp>=4251 && lp<=4500 && choix=="7lisse"){
var z=2059;}
else if (lp>=4251 && lp<=4500 && choix=="8lisse"){
var z=2085;}
else if (lp>=4251 && lp<=4500 && choix=="9lisse"){
var z=2293;}
else if (lp>=4251 && lp<=4500 && choix=="10lisse"){
var z=2327;}
else if (lp>=4251 && lp<=4500 && choix=="11lisse"){
var z=2392;}
//pour largeur 4501<largeur<4750
else if (lp>=4501 && lp<=4750 && choix=="5lisse"){
var z=1948;}
else if (lp>=4501 && lp<=4750 && choix=="6lisse"){
var z=1977;}
else if (lp>=4501 && lp<=4750 && choix=="7lisse"){
var z=2095;}
else if (lp>=4501 && lp<=4750 && choix=="8lisse"){
var z=2166;}
else if (lp>=4501 && lp<=4750 && choix=="9lisse"){
var z=2391;}
else if (lp>=4501 && lp<=4750 && choix=="10lisse"){
var z=2427;}
else if (lp>=4501 && lp<=4750 && choix=="11lisse"){
var z=2498;}
//pour largeur 4751<largeur<5000
else if (lp>=4751 && lp<=5000 && choix=="5lisse"){
var z=2011;}
else if (lp>=4751 && lp<=5000 && choix=="6lisse"){
var z=2041;}
else if (lp>=4751 && lp<=5000 && choix=="7lisse"){
var z=2120;}
else if (lp>=4751 && lp<=5000 && choix=="8lisse"){
var z=2228;}
else if (lp>=4751 && lp<=5000 && choix=="9lisse"){
var z=2458;}
else if (lp>=4751 && lp<=5000 && choix=="10lisse"){
var z=2495;}
else if (lp>=4751 && lp<=5000 && choix=="11lisse"){
var z=2563;}
if (couli4.checked==true){z=z+480;}
if (couli5.checked==true){z=z+538;}
if (por_in.checked==true){z=z+88;}
if (sable.checked==true){z=z+(z*(5/100));}
if (regulateur.checked==true){z=z+313;}
if (kit_ouv.checked==true){z=z+213;}
if (charn.checked==true){z=z+202;}
if (pose.checked==true){z=z+92;}
if (Pot_pvc.checked==true){z=z+85;}
if (plat_met.checked==true){z=z+52;}
if (ossat_alu5.checked==true){z=z+(z*(10/100));}
if (pot_char.checked==true){z=z+36;}
if (pot_sup.checked==true){z=z+162;}
if (bar_cont.checked==true){z=z+128;}
if (trav.checked==true) {z=z+198;}
if (gach.checked==true) {z=z-168;}
if (crem.checked==true) {z=z+269;}
if (renf.checked==true) {z=z+345;}
if (renf_m.checked==true) {z=z+92;}
if (largp.value!="")
{
resultat.value = z.toFixed(2);
resultat.style.display = "block";
}
}
} |
J'ai déjà fais une fonction test avec des plus simples condition comme des additions et elle fonctionne.
J'ai repris le même système pour faire celle-ci et elle ne marche plus et je ne sais pas pourquoi ...
Si un compatriote peux m'aider je lui ferais des bisous :mouarf: !