Autor Zpráva
filip123
Profil
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
"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
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 *
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">');

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: