Stránka: 1 z 1
| [ Príspevkov: 22 ] | |
Autor | Správa |
---|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Ako je prosim mozne spravit takyto formular:
Moznost vyberu: napr.
1. Vyber si farbu tricka: cervene, zelene, atd.
2. Vyber si velkost: S, M, XL, XXL, atd.
Dole by malo byt tlacidlo spocitaj a ma to vypisat cenu.
V HTML to viem spravit ale neviem ako na ten vysledok - vypisat cenu.
dik za pomoc.
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
Cez javascript (bez refreshu) alebo PHP refreshom.
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Kód: <Form> Vyber 1.:<input type="checkbox" checked name="zaskrnut" value="nie"><br> Vyber 2.:<input type="checkbox" checked name="zaskrnut" value="nie"><br> Vyber 3.:<input type="checkbox" checked name="zaskrnut" value="nie"><br> Vyber 4.:<input type="checkbox" checked name="zaskrnut" value="nie"><br> <br> Vyber 5.:<input type="radio" name="puntik" value="horny">hore<br>
<input type="radio" name="puntik" value="dolny" checked>dole<br> <br><br>
Vyber 5.:<select name="pocet" size="1"> <option value="1">1 <option value="1">2 <option value="3">3 <option value="4">4 </select>
</ Form>
Takto mam formular ale ako ste to mysleli s tym Javasciptom alebo php, to je jedno len aby to ficalo.
d.
| Kody vkladaj do znacky [code]. Ďuri
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Podarilo sa mi nieco taketo:
Popis.
Ked oznacim jeden 1. checkbox ma sa dole zobrazit celkova cena 50
ked sa oznaci aj druhy 2. checkbox dole sa ma zobrazit celkova cena 60
Ma sa to celkovo scitat to co je oznacene. (50+10)
Kód: <script type="text/javascript"> function moja-cena() { cp.call(...); } </script>
<Form> Vyber 1.:<input type="checkbox" checked name="zelene_tricko" value="nie" onChange="moja-cena(50)"><br> Vyber 2.:<input type="checkbox" checked name="modre_tricko" value="nie" onChange="moja-cena(10)"><br> </ Form><input type ... onChange="moja-cena()">
Nieco tomu chyba, poradi niekto? D.
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
absolutne nechapem co chces to co ma byt to cp.call(...); si robis srandu ci nevies to scitat ze .... ked chces posielat hodnotu pomocou parametrov tak opis funkcie ma mat nejaky identifikator parametra ale kludne ty mozes zabudnut na parametre a hodnoty davat do value. nejak: Kód: <script type="text/javascript"> function moja_cena(t) { document.getElementById('cena').value=parseInt((document.getElementById('cena').value*1)+(1*t.value)); } </script>
<Form> Vyber 1.:<input type="checkbox" checked name="zelene_tricko" value="50" onChange="moja_cena(this)"><br> Vyber 2.:<input type="checkbox" checked name="modre_tricko" value="10" onChange="moja_cena(this)"><br> </ Form><input id="cena" value="0"> pomlcka v nazve funkcie nema co robit a treba to prerobit na to ze ci su checked alebo nie.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
juho
Mas to zle.
elo
Ja ti tu fciu napisem. Budes mat len 2 checkboxy na celej stranke alebo ich bude viac? Ak by si chcel a mal by si niekolko skupin checkboxov na stranke, spravim ti kod, ktory bude moct tym checkboxom automaticky pridat onchange udalost, aj bude celkom efektivny. Len odpovedz na tu moju otazku.
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Ide presne o tento formular:
Kód: 0.<input type="checkbox" checked name="zaskrtnut" value="nie"> <br><br>
1. <select> <option value="nie">Profi</option> <option value="nie">Normal</option> <option value="nie">Standard</option> <option value="nie">Nie</option> </select><br><br>
2. <select> <option value="nie">Ano E</option> <option value="nie">Ano C</option> <option value="nie">Vyberte si!</option> </select><br><br>
3. <select> <option value="ano">Ano C</option> <option value="ano">Ano E do 50</option> <option value="ano">Ano E do 100</option> <option value="nie">Ano do 200</option> <option value="nie">Nie</option> </select><br><br>
4.<input type="checkbox" checked name="..." value="nie" onChange="moja-cena polozky(50)"> <br><br>
5.<input type="checkbox" checked name="..." value="nie" onChange="moja-cena polozky(50)"> <br><br>
6.<input type="checkbox" checked name="..." value="nie" onChange="moja-cena polozky(50)"> <br><br>
7.<input type="checkbox" checked name="..." value="nie" onChange="moja-cena polozky(50)"> <br><br>
8.<input type="checkbox" checked name="..." value="nie" onChange="moja-cena polozky(50)"> <br><br>
9.<input type="checkbox" checked name="..." value="nie" onChange="moja-cena polozky(50)"> <br><br>
10.<input type="checkbox" checked name="..." value="nie" onChange="moja-cena polozky(50)"> <br><br>
11.<input type="checkbox" checked name="..." value="nie" onChange="moja-cena polozky(50)"> <br><br>
12. <select multiple="option"> <option value="nie">A</option> <option value="nie">B</option> <option value="nie">C</option> <option value="nie">D</option> <option value="nie">E</option> </select><br><br>
13. <select multiple="option"> <option value="nie">C</option> <option value="nie">S</option> <option value="nie">C</option> <option value="nie">n</option> </select><br><br>
Cena: ......... Eur
Oznacenim cohokolvek sa ma zmenit cena dole.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
No, nieco som zbuchal. Niektore casti kodu su mozno trochu zlozito napisane, ale v zaujme toho, ze to nerobi blbosti napriklad ak refreshnes stranku alebo si niektore checkboxy vopred oznacis atributom checked. Popis skriptu - proste to hodis naspodok stranky, to je vsetko. Ta udalost onchange je pridana automaticky vsetkym input type="checkbox", ak by si mal checkbox, ktoremu nechces pridat to spravanie, ze bude ovplyvnovat pocitanie, pridas mu class="dontcount". Nezabudni pridat do kodu nejaky element s id="vysledok", v ktorom sa bude cena zobrazovat. Upozornenie - ak tento element bude input alebo textarea, vsade v kode zmen r.innerHTML na r.value. Inak tu cenu by si mal mat v atribute value, dufam, ze to nie je problem, ale neviem si predstavit, ako inak by to malo byt riesene - to scitanie musi aj tak koniec koncov prebehnut na serveri, kam sa posiela iba name a value.
Kód: <script> var r = document.getElementById('vysledok'), c = document.getElementsByTagName('input'), p = function(b, o) { r.innerHTML = b.checked ? parseFloat(r.innerHTML) + parseFloat(b.value) : (o ? parseFloat(r.innerHTML) - parseFloat(b.value) : r.innerHTML); }; for (var i = 0; e = c[i]; i++) { if (e.type != 'checkbox' || e.className.match(/(^|\s)dontcount($|\s)/i)) { continue; } e.onchange = function() { p(this, true); }; p(e); } </script> Na tie mena premennych moc nepozeraj, nahodne som vyberal pismena. Inak testoval som to len vo Firefoxe, ak by boli nejake problemy v inych prehliadacoch, napis.
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Kód: 1.<input type="checkbox" checked name="10" value="10" id="vysledok"> 2.<input type="checkbox" checked name="100" value="100" id="vysledok">
<script> var r = document.getElementById('vysledok'), c = document.getElementsByTagName('input'), p = function(b, o) { r.value = b.checked ? parseFloat(r.value) + parseFloat(b.value) : (o ? parseFloat(r.value) - parseFloat(b.value) : r.value); }; for (var i = 0; e = c[i]; i++) { if (e.type != 'checkbox' || e.className.match(/(^|\s)dontcount($|\s)/i)) { continue; } e.onchange = function() { p(this, true); }; p(e); } </script>
<input type="text" Id="vysledok">
takto som to upravil, len pre skusku som pouzil dva checkboxi, vlozil som value, cely script je na spodu stranky. Pridal som element input - tym padom som zmenil r.innerHTML na r.value. Skusam to vo Firefoxe.
Kde prosim robim chybu?
D.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Ten input#vysledok mas pod scriptom, to je problem.
Mas este druhu moznost, ak z nejakeho dovodu nechces dat <script> naspodok. Hned za <script> daj Kód: window.onload = function() { a hned pred </script> daj Kód: }
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Kód: <form> 1.<input type="checkbox" checked name="10" value="10" id="vysledok"> 2.<input type="checkbox" checked name="100" value="100" id="vysledok"> </form> <script>window.onload = function() { var r = document.getElementById('vysledok'), c = document.getElementsByTagName('input'), p = function(b, o) { r.value = b.checked ? parseFloat(r.value) + parseFloat(b.value) : (o ? parseFloat(r.value) - parseFloat(b.value) : r.value); }; for (var i = 0; e = c[i]; i++) { if (e.type != 'checkbox' || e.className.match(/(^|\s)dontcount($|\s)/i)) { continue; } e.onchange = function() { p(this, true); }; p(e); } } </script>
Vlozil som a nic to nepocita.
Ako na to?
D.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Nemozes mat dva elementy s id vysledok. Ten #vysledok daj elementu, kde sa ma zobrazovat cena, nie checkboxu. Checkboxom ziadne id netreba.
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Kód: <form> 1.<input type="checkbox" checked name="10" value="10"> 2.<input type="checkbox" checked name="100" value="100"> </form> <script>window.onload = function() { var r = document.getElementById('vysledok'), c = document.getElementsByTagName('input'), p = function(b, o) { r.value = b.checked ? parseFloat(r.value) + parseFloat(b.value) : (o ? parseFloat(r.value) - parseFloat(b.value) : r.value); }; for (var i = 0; e = c[i]; i++) { if (e.type != 'checkbox' || e.className.match(/(^|\s)dontcount($|\s)/i)) { continue; } e.onchange = function() { p(this, true); }; p(e); } } <p id="vysledok"></p> </script>
Dva elementy s id vysledok som zmenil. Dal som elementu vysledok <p id="vysledok"></p> tam kde sa ma zobrazit cena. Checkbox - vymazal som tam id vysledok.
Nejde to aj tak.
Dakujem za trpezlivost.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Teraz tam mas <p> element, nie <input>, preto musis pouzivat r.innerHTML, nie r.value. Citaj pozornejsie moje prispevky. Okrem toho <p> mas v <script>e, musis to dat mimo <script>u.
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Dakujem.
Kód: <form> 1.<input type="checkbox" checked name="10" value="10"> 2.<input type="checkbox" checked name="100" value="100"> </form> <script>window.onload = function() { var r = document.getElementById('vysledok'), c = document.getElementsByTagName('input'), p = function(b, o) { r.innerHTML = b.checked ? parseFloat(r.innerHTML) + parseFloat(b.value) : (o ? parseFloat(r.innerHTML) - parseFloat(b.value) : r.innerHTML); }; for (var i = 0; e = c[i]; i++) { if (e.type != 'checkbox' || e.className.match(/(^|\s)dontcount($|\s)/i)) { continue; } e.onchange = function() { p(this, true); }; p(e); } } </script> <p id="vysledok"></p>
Element <p> som dal za script. r.value som zmenil na r.innerHTML. V scripte je pouzivane aj b.value, to som nemenil.
Uz to reaguje po oznaceni ale zobrazi "NaN" asi bude problem s nejakou premennou? Na oznacenie reaguje ale neviem ci to pocita alebo pouziva na scitanie premennu cislo.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Skus do toho p#vysledok vlozit 0.
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 | |
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Aha, ostalo ti tam este 2x r.value, aj tie musis nahradit za r.innerHTML.
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Stale nejde.
JS spocitava "value" vo form.?
Tu je sucasny stav JS a nad nim je form.
Kód: <script>window.onload = function() { var r = document.getElementById('vysledok'), c = document.getElementsByTagName('input'), p = function(b, o) { r.innerHTML = b.checked ? parseFloat(r.innerHTML) + parseFloat(b.value) : (o ? parseFloat(r.innerHTML) - parseFloat(b.value) : r.innerHTML); }; for (var i = 0; e = c[i]; i++) { if (e.type != 'checkbox' || e.className.match(/(^|\s)dontcount($|\s)/i)) { continue; } e.onchange = function() { p(this, true); }; p(e); } } </script><p id="vysledok"></p>
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Ano, spocitava value. Toto musi fungovat, je tam window.onload, innerHTML, 0 v <p>, vazne, funguje.
Kód: <script> window.onload = function() { var r = document.getElementById('vysledok'), c = document.getElementsByTagName('input'), p = function(b, o) { r.innerHTML = b.checked ? parseFloat(r.innerHTML) + parseFloat(b.value) : (o ? parseFloat(r.innerHTML) - parseFloat(b.value) : r.innerHTML); }; for (var i = 0; e = c[i]; i++) { if (e.type != 'checkbox' || e.className.match(/(^|\s)dontcount($|\s)/i)) { continue; } e.onchange = function() { p(this, true); }; p(e); } }; </script> <p id="vysledok">0</p>
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Dakujem, uz to funguje tak ako ma. Ja som daval tu nulu vedla.
DIK.
|
|
Registrovaný: 24.11.09 Prihlásený: 21.05.20 Príspevky: 195 Témy: 75 | 75 |
Ako môžem pričítať value z "radio"? (checkboxi mi idú spočítať).
Ďakujem.
Kód: <script>window.onload = function() { var r = document.getElementById('vysledok'), c = document.getElementsByTagName('input'), p = function(b, o) { r.innerHTML = b.checked ? parseFloat(r.innerHTML) + parseFloat(b.value) : (o ? parseFloat(r.innerHTML) - parseFloat(b.value) : r.innerHTML); }; for (var i = 0; e = c[i]; i++) { if ((e.type != 'checkbox'&&e.type!='radio') || e.className.match(/(^|\s)dontcount($|\s)/i)) { continue; } e.onchange = function() { p(this, true); }; p(e); } } </script>
Keď to mám takto, a kliknem na jeden radio vypíše číslo, ale keď kliknem za druhý radio hodnoty sa sčítajú a ja potrebujem sčítavať len označené radio.
Ďakujem.
|
|
Stránka: 1 z 1
| [ Príspevkov: 22 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| [ Choď na stránku: 1, 2, 3 ] v Technológia .NET | 67 | 2917 | 28.06.2013 22:08 walther | | v Redakčné systémy | 1 | 1221 | 22.08.2016 10:26 hatto13 | | v JavaScript, VBScript, Ajax | 17 | 1408 | 24.12.2008 19:58 Draex | | v Ponuka práce | 3 | 1822 | 30.05.2006 6:51 jakub023 | | v Webdesign | 6 | 588 | 27.03.2013 8:19 Achelan | | v PHP, ASP | 1 | 586 | 07.06.2009 15:44 Ďuri | | v PHP, ASP | 0 | 416 | 24.09.2012 15:35 e-shark | | v Ostatné | 0 | 400 | 08.03.2016 19:23 matej71 | | v HTML, XHTML, XML, CSS | 24 | 1133 | 08.01.2011 14:55 shaggy | | v PHP, ASP | 1 | 447 | 09.07.2012 20:31 killer | | v PHP, ASP | 8 | 517 | 28.07.2015 17:55 walther | | v PHP, ASP | 11 | 990 | 27.02.2009 12:38 Pades | | v HTML, XHTML, XML, CSS | 9 | 531 | 04.04.2015 14:11 erikzet | | v HTML, XHTML, XML, CSS | 14 | 1184 | 27.05.2007 10:00 p360t | | v PHP, ASP | 23 | 1788 | 01.04.2007 10:02 p360t | | v HTML, XHTML, XML, CSS | 14 | 860 | 03.05.2008 19:31 Svolo |
|