Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Autor | Správa |
---|
Registrovaný: 04.02.09 Prihlásený: 13.10.09 Príspevky: 7 Témy: 1 | 1 |
Ahojte.
Potreboval by som poradit, ako urobit kalkulacku ceny produktu a volitelnych doplnkov. Jedna sa o to, ze v ponuke je viacero modelov a ku kazdemu sa da dokupit doplnkova vybava (zvacsa z kazdeho druhy len 1 moznost: napr vyberiete si produkt A1 a chcete nan doplnok D1, E2 a F5).
Viete niekdo poradit?
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
to je take vseobecne ze barsdo by ti nato odpisal ze ano je to mozne.
zeby cez zaskrtavacie inputy a tak. no a co ty by si chcel s tym? s cim si nevies rady?
|
|
Registrovaný: 04.02.09 Prihlásený: 13.10.09 Príspevky: 7 Témy: 1 | 1 |
nieco ako je na tejto stranke:
http://interval.cz/clanky/automaticke-p ... formulari/
potreboval by som si vybrat zo skupiny len 1 moznost.
napr v skupine 1 bude A,B,C,D a kazda bude mat inu cenu a zvolit sa da len 1, v skupine 2 bude X, Y, Z a tiez kazda inu cenu. a aby mi kalkulacka ukazala vyslednu sumu.
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
no sak ano mas to tam aj vysvetlene, podla toho to rob
|
|
Registrovaný: 04.02.09 Prihlásený: 13.10.09 Príspevky: 7 Témy: 1 | 1 |
no tomu celkom rozumiem, len ja potrebujem, aby som mal skupiny produktov a z kazdej skupiny si budem moct vybrat len 1 produkt. Teoreticky este dat aj pole,kde by sa daval pocet km. Ci staci zmenit typ formularoveho policka na zaskrtavacie (poradte aspon aky je to typ, s JS som doteraz nikdy nerobil) a ako si nastavim skupiny (ako nastavit napr produkty A1, A2, A3 a aby som si mohol vybrat len 1 z nich). Ostatne asi bude rovnake ako v tom priklade aspon dufam
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
no myslis to zhruba takto?::: Kód: <script> function kalkuj(){ var frma=document.skupina1.a; var frmb=document.skupina2.b; var cena=0;
for(var x=0;x<frma.length;x++) if(frma[x].checked==true) break; if(x<frma.length) cena+=eval(frma[x].value);
for(var x=0;x<frmb.length;x++) if(frmb[x].checked==true) break; if(x<frmb.length) cena+=eval(frmb[x].value);
document.getElementById("pocet").value=cena+" SKK";
}
</script>
<form name=skupina1 onclick="kalkuj();"> <table> <tr><td>druh<td>cena<td>objednavka <tr><td>A<td>21,-<td><input type="radio" name=a value=21> <tr><td>B<td>45,-<td><input type="radio" name=a value=45> <tr><td>C<td>82,-<td><input type="radio" name=a value=82> <tr><td>D<td>33,-<td><input type="radio" name=a value=33> </table> </form>
<form name=skupina2 onclick="kalkuj();"> <table> <tr><td>druh<td>cena<td>objednavka <tr><td>x<td>4,-<td><input type="radio" name=b value=4> <tr><td>y<td>6,-<td><input type="radio" name=b value=6> <tr><td>z<td>1,-<td><input type="radio" name=b value=1> </table> </form>
<input id=pocet disabled="disabled">
|
|
Registrovaný: 04.02.09 Prihlásený: 13.10.09 Príspevky: 7 Témy: 1 | 1 |
dikes velmi moc, pozrem sa na to a dam vediet ci to ide
|
|
Registrovaný: 04.02.09 Prihlásený: 13.10.09 Príspevky: 7 Témy: 1 | 1 |
inak ako by sa dal spravne zakomponovat formular s checkoxom? skusal som to takto:
Kód: <script> function kalkuj(){ var frma=document.skupina1.a; var frmb=document.skupina2.b; var frmc=document.skupina3.c; var cena=0;
for(var x=0;x<frma.length;x++) if(frma[x].checked==true) break; if(x<frma.length) cena+=eval(frma[x].value);
for(var x=0;x<frmb.length;x++) if(frmb[x].checked==true) break; if(x<frmb.length) cena+=eval(frmb[x].value);
for(var x=0;x<frmc.length;x++) if(frmc[x].checked==true) break; if(x<frmc.length) cena+=eval(frmc[x].value);
document.getElementById("pocet").value=cena+" SKK";
}
</script>
<form name=skupina1 onclick="kalkuj();"> <table> <tr><td>druh<td>cena<td>objednavka <tr><td>A<td>21,-<td><input type="radio" name=a value=21> <tr><td>B<td>45,-<td><input type="radio" name=a value=45> <tr><td>C<td>82,-<td><input type="radio" name=a value=82> <tr><td>D<td>33,-<td><input type="radio" name=a value=33>
</table> </form>
<form name=skupina2 onclick="kalkuj();"> <table> <tr><td>druh<td>cena<td>objednavka <tr><td>x<td>4,-<td><input type="radio" name=b value=4> <tr><td>y<td>6,-<td><input type="radio" name=b value=6> <tr><td>z<td>1,-<td><input type="radio" name=b value=1> </table> </form>
<form name=skupina3 onclick="kalkuj();"> <table> <tr><td>M<td>12,-<td><input type="checkbox" name=c value=12> <tr><td>N<td>17,-<td><input type="checkbox" name=c value=17> </table> </form> <input id=pocet disabled="disabled">
ale robi to problem, ked zaskrtnem oba (myslim ze zarata len mensiu hodnotu). Ci musim pre kazdy checkbox urobit vlastny formular/skupinu?
ako by som mohol este zakomponovat aj type="text"? upravit len kod zo stranky co som napisal vyssie a zakomponovat ho do scriptu od teba? ako tak sito nastavit, aby tam clovek nemohol zadat pismeno ale len cislice? ak to teda ide.
inak je mozne cez CSS alebo inak nastavit farbu pola vyslednej hodnoty? tak isto nova vec pre mna
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
pre te checkboxy ta funkcia musi vyzerat takto pretoze checkboxy sluzia na neurcite zaskrtavanie tak name v tom pripade je nepodstatne pre javascript
Kód: for(var x=0;x<frmc.length;x++) if(frmc[x].checked==true) cena+=eval(frmc[x].value);
|
|
Registrovaný: 04.02.09 Prihlásený: 13.10.09 Príspevky: 7 Témy: 1 | 1 |
mam tabulku a v nej dajme tomu 8x3 buniek (produkt, cena s dph a zaskrkavatko).
Kód: <form name=skupina1 onclick="kalkuj();"> som dal do prvej bunky, kde bolo zaskrkavatko a Kód: </form> som dal do predposledneho riadku, za posledny input. v poslednom riadku tabulky som potreboval dat totiz checkbox, ale vo firefoxe mi to vobec nefungovalo, v IE to islo zle. v IE to robilo tak, ze ked som si vybral z radio butonov, tak sa nic neukazalo, ale ked som klikol na checkbox, tak sa zobrazila hodnota radiobutona. ked som zas zmenil volbu z radia, tak ziadna zmena, az kym som neklikol na checkbox tu je kod: Kód: <script> function kalkuj(){ var frma=document.skupina1.a; var frmb=document.skupina2.b; var cena=0;
for(var x=0;x<frma.length;x++) if(frma[x].checked==true) break; if(x<frma.length) cena+=eval(frma[x].value);
for(var x=0;x<frmb.length;x++) if(frmb[x].checked==true) cena+=eval(frmb[x].value);
document.getElementById("pocet").value=cena+" EURO";
}
</script>
<table width="800" border="1" cellspacing="0"><form name=skupina1 onClick="kalkuj();"> <tr> <td width="637"><p align="center"><strong>Rada AB- 7 rokov záruka</strong></td> <td width="109"><div align="center"><strong>Cena s DPH</strong></div></td> <td width="48"><div align="center"></div></td> </tr> <tr> </tr> <tr> <td height="20"><em><strong>AB1/3</strong></em> - jednobodový mechanizmus, 3 pasívne body</td> <td><div align="center">344 €</div></td> <td><div align="center"><input type="radio" name=a value=344></div></td> </tr> <tr> <td height="20"><em><strong>AB5</strong></em> - trojbodový mechanizmus, 3 pasívne body</td> <td><div align="center">414,80 €</div></td> <td><div align="center"><input type="radio" name=a value=414.8></div></td> </tr> <tr> <td height="20"><em><strong>AB7</strong></em> - štvorbodový mechanizmus, 4 pasívne body, <strong>Bezpečnostná trieda 2</strong></td> <td><div align="center">462 €</div></td> <td><div align="center"><input type="radio" name=a value=462></div></td> </tr> <tr> <td height="20"><strong>AB9</strong> - šesťbodový mechanizmus, 6 pasívnych bodov, <strong>Bezpečnostná trieda 3 </strong></td> <td><div align="center">498 €</div></td> <td><div align="center"><input type="radio" name=a value=498></div></td> </tr> <tr> <td height="20"><strong>AB9</strong> - sedembodový mechanizmus, 6 pasívnych bodov, <strong>Bezpečnostná trieda 4 </strong></td> <td><div align="center">794 €</div></td> <td><div align="center"><input type="radio" name=a value=794></div></td> </tr> <tr> <td height="20"><strong> Dvojkrídlové dvere</strong>, sedembodový mechanizmus, 6 pasívnych bodov, <strong>Bezpečnostná trieda 3</strong></td> <td><div align="center">1044,78 €</div></td> <td><div align="center"><input type="radio" name=a value=1044.78></div></td> </tr></form> <tr> <td>Príplatok za protipožiarnu úpravu</td> <td><div align="center">29,87 €</div></td> <td><div align="center"><form name=skupina2 onclick="kalkuj();"><input type="checkbox" name=b value=29.87></form></div></td> </tr> </table> <input id=pocet disabled="disabled">
musia byt tie formulare este pred zacatim tabulky? alebo v com moze byt chyba?
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
pildo píše: musia byt tie formulare este pred zacatim tabulky? to sa akoze pytas a este si to neskusil? to akoze ty si hento spravil na prvykrat a neskusal si vobec to inak? si zakazdym povies ze tak to nejde a potom cakas na nejaky zazrak co to vyriesi?
a k podstate nemusi byt henten priklad pre dva formulare a zas ked mas ten "checkbox" len jeden tak nemozes cakat ze ti to ten javascript bude brat ako pole. a este k tej strukture to je hroza prestuduj si radsej nieco o css a usetris kopu kopu kopu miesta. a nebude to vyzerat hrozneeeee...akoby to robil wysiwyg
Kód: <script> function kalkuj(){ var frma=document.skupina.a; var frmb=document.skupina.b; var cena=0;
for(var x=0;x<frma.length;x++) if(frma[x].checked==true) break; if(x<frma.length) cena+=eval(frma[x].value);
if(frmb.checked==true) cena+=eval(frmb.value);
document.getElementById("pocet").value=cena+" EURO";
}
</script>
<form name=skupina onClick="kalkuj();"> <table width="800" border="1" cellspacing="0"> <tr><td width="637">Rada AB- 7 rokov záruka</td> <td width="109">Cena s DPH</td> </tr> <tr><td height="20">AB1/3 - jednobodový mechanizmus, 3 pasívne body</td> <td>344 €</td> <td><input type="radio" name=a value=344></td> </tr> <tr><td height="20">AB5 - trojbodový mechanizmus, 3 pasívne body</td> <td>414,80 €</td> <td><input type="radio" name=a value=414.8></td> </tr> <tr><td height="20">AB7 - štvorbodový mechanizmus, 4 pasívne body, Bezpečnostná trieda 2</td> <td>462 €</td> <td><input type="radio" name=a value=462></td> </tr> <tr><td height="20">AB9 - šesťbodový mechanizmus, 6 pasívnych bodov, Bezpečnostná trieda 3</td> <td>498 €</td> <td><input type="radio" name=a value=498></td> </tr> <tr><td height="20">AB9 - sedembodový mechanizmus, 6 pasívnych bodov, Bezpečnostná trieda 4 </td> <td>794 €</td> <td><input type="radio" name=a value=794></td> </tr> <tr><td height="20">Dvojkrídlové dvere, sedembodový mechanizmus, 6 pasívnych bodov, Bezpečnostná trieda 3</td> <td>1044,78 €</td> <td><input type="radio" name=a value="1044.78"></td> </tr> <tr><td>Príplatok za protipožiarnu úpravu</td> <td>29,87 €</td> <td><input type="checkbox" name=b value="29.87"></td> </tr> </table> </form>
<input id=pocet disabled="disabled">
|
|
Registrovaný: 04.02.09 Prihlásený: 13.10.09 Príspevky: 7 Témy: 1 | 1 |
nakoniec som to musel este prerabat, tak som to dal cez DIVi.
ked to dokoncim cele tak poslem link na finalnu verziu.
a este dikes za inspiraciu cez CSS
EDIT:
je mozne nastavit v <input id=pocet disabled="disabled"> pocet cisel za desatinou ciarkou?
|
|
Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Databázy | 1 | 800 | 25.12.2014 20:56 Dadko | | v Obchody, reklamácie a právo | 6 | 1283 | 15.07.2009 16:07 psichac | | v Obchody, reklamácie a právo | 8 | 1246 | 30.07.2011 23:36 Luks | | v Obchody, reklamácie a právo | 1 | 393 | 09.10.2023 14:55 eMp | | v PHP, ASP | 1 | 893 | 22.05.2011 18:43 TommyHot | | v Obchody, reklamácie a právo | 2 | 1402 | 26.05.2022 18:38 Googler1 | | v Obchody, reklamácie a právo | 6 | 3247 | 05.04.2015 16:38 walther | | v Ostatné programy | 1 | 531 | 30.05.2011 23:00 shiro | | v Ostatné | 3 | 407 | 25.01.2012 14:54 jtbs | | v JavaScript, VBScript, Ajax | 2 | 755 | 09.08.2008 18:39 exoomer | | v Ostatné programy | 0 | 677 | 21.02.2009 21:24 bugi512 | | v Ostatné | 6 | 855 | 10.03.2012 21:36 F3RY | | v Ostatné | 3 | 548 | 03.02.2011 22:16 elfman | | v Assembler, C, C++, Pascal, Java | 1 | 1004 | 19.04.2010 15:04 Forty- | | v Assembler, C, C++, Pascal, Java | 6 | 1532 | 17.01.2012 15:33 vychytraly | | v Delphi, Visual Basic | 17 | 1221 | 02.03.2013 10:18 expoox |
|