Autor | Zpráva | ||
---|---|---|---|
RRR Profil |
#1 · Zasláno: 14. 1. 2019, 00:15:16 · Upravil/a: Moderátor (editace znemožněna) 14. 1. 2019, 12:14:37
dobrý den, jsem amatér a momentálně se snažím o pro někoho možná triviální záležitost. Mám dvě select tlačítka, která vybírají počet objednaného zboží.
www.ranam.cz/robin/kalkulacka Tento počet se násobí s cenou produktu a cena se zobrazí v levém horním rohu. nefunguje mi to ale u obou tlačítek :( Zároveň se obávám že se hodnoty z obou tlačítek nebudou sčítat. Znali byste způsob, jak toto vyřešit? html část kódu: <body bgcolor="#A0A0A0" vlink="blue" link="blue"> <div id="page1-div" style="position:relative;width:892px;height:1263px;"> <img align="center" width="892" height="1263" src="001.jpg" alt="background image"/> <form method="post" name="dphform"> <div class="dph"><!--zde je první tlačítko--> <tr> <td class="c_field"><select name="rok" hidden ><option /></select></td> </tr> <span style="position: absolute; top: 1150px; left: 235px; z-index: 1"<img src="001.jpg"> <tr> <td class="c_field"><select name="sazbadph"><option /></select> <input size="4" name="sazbadphtext" type="text" /></td> </tr> </span> </div> <div class="dph1"> <!--zde je druhé tlačítko--> <tr> <td class="c_field"><select name="rok1" hidden ><option /></select></td> </tr> <span style="position: absolute; top: 1150px; left: 680px; z-index: 1"<img src="001.jpg"> <tr> <td class="c_field"><select name="sazbadph1"><option /></select> <input size="4" name="sazbadphtext1" type="text" /></td> </tr> </span> </div> <div class="dph2"> <!--zde se vypisuje cena--> <td class="c_field"><input class="aktivni"size="9" value="1" name="bezdph"hidden /></td> <span style="position: fixed; top: 1px; left: 1px; z-index: 1"<img src="001.jpg"> <tr><th>cena celkem:</th> <td class="c_field"><input size="4" value="0" name="dph" type="text" /></td> <td>Kč</td></tr> <tr> <td class="c_field"><input value="1" name="zaokrouhlitdph" type="checkbox"hidden /></td> <td></td> </tr> </span> </div> </td> </div> a JS část: sazby = {'produkt' : '0,1karton,2kartony,3kartony,4kartony,5kartonů,6kartonů,7kartonů,8kartonů,9kartonů', }//zde je první tlačítko Number.prototype.round=function(p){z=Math.pow(10,p);return Math.round(this*z)/z}; fill_roky(document.forms['dphform']['rok'],sazby) calc_dph('rok') calc_dph('bezdph') function fill_roky(fi,sazby){ fo = fi.form rok = fo['rok'] rok.options.length = 0 for (crok in sazby){ rok.options[rok.options.length] = new Option(crok, sazby[crok]); } rok.options[rok.options.length-1].selected=true for (i=0;i<fo.length;i++){ f=fo[i] f.onchange=function(e){calc_dph(this)} } } function calc_dph(fi){ if (typeof fi == "string") fi = document.forms['dphform'][fi] fo = fi.form sazbadph = fo['sazbadph'] sazbadphtext = fo['sazbadphtext'] bezdph = fo['bezdph'] dph = fo['dph'] zaokrouhlit = fo['zaokrouhlitdph'].checked if ('rok'==fi.name) { if (rok.value=='jine') { } else { sazbadphtext.style.display='none' sazby = rok.value.split(',') if (sazby.length==1){ } else { sazbadph.options[0] = new Option(sazby[0]); sazbadph.options[1] = new Option(sazby[1]); sazbadph.options[2] = new Option(sazby[2]); sazbadph.options[3] = new Option(sazby[3]); sazbadph.options[4] = new Option(sazby[4]); sazbadph.options[5] = new Option(sazby[5]); sazbadph.options[6] = new Option(sazby[6]); sazbadph.options[7] = new Option(sazby[7]); sazbadph.options[8] = new Option(sazby[8]); sazbadph.options[9] = new Option(sazby[9]); } }; } if (fi.name=='sazbadph'||!sazbadphtext.value)sazbadphtext.value=sazbadph.value if (' bezdph cenasdph dph sazbadphtext '.indexOf(' ' + fi.name + ' ')>=0){ if (window.last_fi_name!=fi.name){ } } sazbadph_value = parseFloat(sazbadphtext.value) switch (window.last_fi_name) { case 'dph': if(zaokrouhlit)zaokrouhli(dph) bezdph.value=mn(42*parseFloat(dph.value)/sazbadph_value,zaokrouhlit) break; default: if(zaokrouhlit)zaokrouhli(bezdph) dph.value=mn(42*sazbadph_value*bezdph.value,zaokrouhlit) break; } } sazby1 = {'produkt1' : '0,1karton,2kartony,3kartony,4kartony,5kartonů,6kartonů,7kartonů,8kartonů,9kartonů', }//zde je druhé tlačítko Number.prototype.round=function(p){z=Math.pow(10,p);return Math.round(this*z)/z}; fill_roky(document.forms['dphform']['rok1'],sazby1) calc_dph('rok1') calc_dph('bezdph') function fill_roky(fi,sazby1){ fo = fi.form rok1 = fo['rok1'] rok1.options.length = 0 for (crok in sazby1){ rok1.options[rok1.options.length] = new Option(crok, sazby1[crok]); } rok1.options[rok1.options.length-1].selected=true for (i=0;i<fo.length;i++){ f=fo[i] f.onchange=function(e){calc_dph(this)} } } function calc_dph(fi){ if (typeof fi == "string") fi = document.forms['dphform'][fi] fo = fi.form sazbadph1 = fo['sazbadph1'] sazbadphtext1 = fo['sazbadphtext1'] bezdph = fo['bezdph'] dph = fo['dph'] zaokrouhlit = fo['zaokrouhlitdph'].checked if ('rok1'==fi.name) { if (rok1.value=='jine') { } else { sazbadphtext1.style.display='none' sazby1 = rok1.value.split(',') if (sazby1.length==1){ } else { sazbadph1.options[0] = new Option(sazby1[0]); sazbadph1.options[1] = new Option(sazby1[1]); sazbadph1.options[2] = new Option(sazby1[2]); sazbadph1.options[3] = new Option(sazby1[3]); sazbadph1.options[4] = new Option(sazby1[4]); sazbadph1.options[5] = new Option(sazby1[5]); sazbadph1.options[6] = new Option(sazby1[6]); sazbadph1.options[7] = new Option(sazby1[7]); sazbadph1.options[8] = new Option(sazby1[8]); sazbadph1.options[9] = new Option(sazby1[9]); } }; } if (fi.name=='sazbadph1'||!sazbadphtext1.value)sazbadphtext1.value=sazbadph1.value if (' bezdph cenasdph dph sazbadphtext1 '.indexOf(' ' + fi.name + ' ')>=0){ if (window.last_fi_name!=fi.name){ } } sazbadph1_value = parseFloat(sazbadphtext1.value) switch (window.last_fi_name) { case 'dph': if(zaokrouhlit)zaokrouhli(dph) bezdph.value=mn(47*parseFloat(dph.value)/sazbadph1_value,zaokrouhlit) break; default: if(zaokrouhlit)zaokrouhli(bezdph) dph.value=mn(47*sazbadph1_value*bezdph.value,zaokrouhlit) break; } } function set_value(n,v){ for (ke=document.getElementsByName(n), i=0; i<ke.length; i++) { try {ke[i].innerHTML = v } catch(e){} } } function mn(n,zaokrouhlit) { if(!n)return 0 if (zaokrouhlit)return parseFloat.toFixed(2); else return parseFloat(n).toFixed(2); } Díky za jakékoliv rady. |
||
_es Profil |
#2 · Zasláno: 14. 1. 2019, 13:01:13
RRR:
„kód vychází z DPH kalkulačky“ Radšej by som „vychádzal“ z nejakého iného kódu. Treba si uvedomiť, kedy ide o číslo a kedy o textový reťazec: Časté potíže, zajímavosti a poučné debaty » Součet čísel versus součet řetězců. Viď aj Časté potíže, zajímavosti a poučné debaty » Používejte var .
|
||
Časová prodleva: 3 dny
|
|||
RRR Profil |
#3 · Zasláno: 17. 1. 2019, 21:27:35
_es:
děkuji, budu se tím řídit |
||
Časová prodleva: 6 let
|
0