| 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: 7 let
|
|||
0