Autor | Zpráva | ||
---|---|---|---|
filip123 Profil |
#1 · Zasláno: 17. 3. 2008, 15:07:06
Ahoj,
potřeboval bych prosím poradit.. Mam formulář, který vytváří html podle designeru a nejde s ním hýbat jinak než přes ten designer a možnosti jsou velmi omezené.. ale vkládat jdou scripty.. Mam vytvořených několik checkboxů a potřeboval bych nějak zjistit, jaký checkboxy byly zaškrtnutý a určit jaký kombinace byly navolený.. Například spočítat cenu, že checkbox 1 bude 5000, checkbox 2 bude 2000, checkbox 3 1500, checkbox 4 10.. a pokud bude zaškrtnut třeba checkbox 1 a 4, tak mi to řekne, že cena bude 5010.. V javascritu se zatím moc neorientuji a narazil jsem pořádně na něj až tady, kde to jinak vyřešit nejde.. Předem dík za nějaký nápad.. |
||
peta Profil |
#2 · Zasláno: 18. 3. 2008, 07:57:39
"V javascritu se zatím moc neorientuji"
jakpsatweb - javascript jakpsatweb - javascript - priklady Navrhuji se bavit o konkretnich chybach v konkretnich scriptech s konkretnim CMS (predpodkladam, ze pod pojmem designer myslis nejaky redakcni system). Pokud ovsem nic nemas, tak se s tebou nema vyznam bavit. To je tema pro prace a zakazky, udelejte mi neco. Muzu ti jen rici, ano, jde to provest. |
||
filip123 Profil |
#3 · Zasláno: 18. 3. 2008, 10:39:23 · Upravil/a: filip123
jo jasně, sorry.. přikládam něco, co jsem vytvořil, tak jestli se mi na to podíváš, budu rád.
<script> function funkce() { if (document.getElementById("checkbox1").checked == true) { var jedna = 2000; } else { var jedna = 0; } if (document.getElementById("checkbox2").checked == true) { var dva = 1000; } else { var dva = 0; } if (document.getElementById("checkbox3").checked == true) { var tri = 3000; } else { var tri = 0; } if (document.getElementById("checkbox4").checked == true) { var ctyri = 2000; } else { var ctyri = 0; } document.getElementById("text").write == jedna + dva + tri + ctyri; } document.write("<INPUT TYPE=\"button\" onClick=\"funkce()\" VALUE=\"true?\">"); document.write("<INPUT TYPE=\"text\" name=\"pole\">"); <\script> input těch checkboxů následuje až po scriptu.. nevim, jestli to může hrát nějakou roli, ale skoro jsem pochopil, že jo.. |
||
los Profil * |
#4 · Zasláno: 18. 3. 2008, 11:09:34
Keď chceš používať getElementById, tak musíš danému prvku nastaviť identifikátor (napr. asi chceš výsledok zobraziť v input name=pole, ale nastavuješ ho elementu id=text; navyše ho zapisuješ do vlastnosti write - to malo byť asi value).
Predpokladám, že tie checkboxy majú nastavený atribút name na checkbox1..checkboxN a checkboxy majú svoju hodnotu nastavenú vo value (napr. <input type="checkbox" name="checkbox1" value="2000">). Kód píšem priamo do tejto textarey, takže tam môžu byť chyby. Funkcia pre sčítanie bude potom vyzerať takto: function sumAll(form) { for (var i = 1, sum = 0, checkbox; checkbox = form["checkbox" + i]; ++i) sum += checkbox.checked * checkbox.value; form.pole.value = sum; } Tlačidlo potom bude vyzerať nejako takto: document.write('<input type="button" onclick="sumAll(this.form)" value="Sčítaj">'); |
||
Časová prodleva: 16 let
|
0