Autor Zpráva
sir_lamoid
Profil
Dobrý den,

Potřeboval bych poradit:
Mám stránku, která bude představovat kalkulaci nákladů na tvorbu stránek. Mám 3 sady přepínaču jeden na služby druhý na hosting a třetí na domény. Po zvolení z možnosti Služby chci aby se přepočítala cena celkem to samé u domen a hostingu. Mám Kód:
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="content-type" content="text/html" />
    <meta name="author" content="" />
<script type="text/javascript">
var sluzby=0, hosting=0, domena=0;
function calc(){
    
    /* Služby */
    if(document.formular.sluzba['1'].checked=true){
        sluzby=1000;
    }
    else if(document.formular.sluzba['2'].checked=true){
        sluzby=2000;
    }
    else if(document.formular.sluzba['3'].checked=true){
        sluzby=5000;
    }
    else if(document.formular.sluzba['4'].checked=true){
        sluzby=8000;
    }
    else if(document.formular.sluzba['5'].checked=true){
        sluzby=10000;
    }
    else{
        sluzby=0;
    }
    
    /* Hosting */
    if(document.formular.hosting['1'].checked=true){
        hosting=20;
    }
    else if(document.formular.hosting['2'].checked=true){
        hosting=100;
    }
    else if(document.formular.hosting['3'].checked=true){
        hosting=180;
    }
    else{
        hosting=0;
    }
    
    /* Domény */
    if(document.formular.domena['1'].checked=true){
        domena=400;
    }
    else if(document.formular.domena['2'].checked=true){
        domena=400;
    }
    else if(document.formular.domena['3'].checked=true){
        domena=550;
    }
    else if(document.formular.domena['4'].checked=true){
        domena=300;
    }
    else{
        domena=0;
    }
    /* Samotný výpočet */
    /*document.celkem.innerHTML=sluzby+hosting+domena;*/
    document.formular.celkem.value=sluzby+hosting+domena;
}</script>
    <title>Untitled 4</title>
</head>

<body>
<form enctype="multipart/form-data" name="formular">
<h2>Sluzba</h2>
<input type="radio" value="1" name="sluzba" id="1" onchange="calc()" />1
<input type="radio" value="2" name="sluzba" id="2" onchange="calc()" />2
<input type="radio" value="3" name="sluzba" id="3" onchange="calc()" />3
<input type="radio" value="4" name="sluzba" id="4" onchange="calc()" />4
<input type="radio" value="5" name="sluzba" id="5" onchange="calc()" />5

<h2>Hosting</h2>
<input type="radio" value="1" name="hosting" id="1" onchange="calc()" />1
<input type="radio" value="2" name="hosting" id="2" onchange="calc()" />2
<input type="radio" value="3" name="hosting" id="3" onchange="calc()" />3

<h2>Domény</h2>
<input type="radio" value="1" name="domena" id="1" onchange="calc()" />1
<input type="radio" value="2" name="domena" id="2" onchange="calc()" />2
<input type="radio" value="3" name="domena" id="3" onchange="calc()" />3

<input type="text" name="celkem" class="celkem" id="celkem" />
</form>
</body>
</html>

Avšak tento kód po kliknutí u čehokoliv na cokoliv dá kód všude 2ky..
juriad
Profil
checked == true // porovnání, jedno rovnítko přiřazuje
nebo jen
checked
sir_lamoid
Profil
Stejně to nefunguje... Aji když místo události onchange dám onclick.....
DJ Miky
Profil
Prvky pole se číslují od nuly, tedy sluzba[0]sluzba[4], ne sluzba[1]sluzba[5], nemá to žádnou souvislost s atributem id. (A jsou to čísla, neměla by být uzavřena v apostrofech.)

Mimochodem, ještě ti tam přebývá podmínka pro čtvrtou doménu.
sir_lamoid
Profil
UPGRADE!

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="content-type" content="text/html" />
    <meta name="author" content="" />
<script type="text/javascript">
var sluzby=0, hosting=0, domena=0;
function calc(){
    
    /* Služby */
    if(document.formular.sluzba['jhgfi1'].checked===true){
        sluzby=1000;
    }
    else if(document.formular.sluzba['jhgfi2'].checked==true){
        sluzby=2000;
    }
    else if(document.formular.sluzba['jhgfi3'].checked==true){
        sluzby=5000;
    }
    else if(document.formular.sluzba['jhgfi4'].checked==true){
        sluzby=8000;
    }
    else if(document.formular.sluzba['jhgfi5'].checked==true){
        sluzby=10000;
    }
    else{
        sluzby=0;
    }
    
    /* Hosting */
    if(document.formular.hosting['jhgfia1'].checked==true){
        hosting=20;
    }
    else if(document.formular.hosting['jhgfia2'].checked==true){
        hosting=100;
    }
    else if(document.formular.hosting['jhgfia3'].checked==true){
        hosting=180;
    }
    else{
        hosting=0;
    }
    
    /* Domény */
    if(document.formular.domena['jhgfie1'].checked==true){
        domena=400;
    }
    else if(document.formular.domena['jhgfie2'].checked==true){
        domena=400;
    }
    else if(document.formular.domena['jhgfie3'].checked==true){
        domena=550;
    }
    else if(document.formular.domena['jhgfie4'].checked==true){
        domena=300;
    }
    else{
        domena=0;
    }
    /* Samotný výpočet */
    /*document.celkem.innerHTML=sluzby+hosting+domena;*/
    document.formular.celkem.value=sluzby+hosting+domena;
}</script>
    <title>Untitled 4</title>
</head>

<body>
<form enctype="multipart/form-data" name="formular">
<h2>Sluzba</h2>
<input type="radio" value="1" name="sluzba" id="jhgfi1" onchange="calc()" />1
<input type="radio" value="2" name="sluzba" id="jhgfi2" onchange="calc()" />2
<input type="radio" value="3" name="sluzba" id="jhgfi3" onchange="calc()" />3
<input type="radio" value="4" name="sluzba" id="jhgfi4" onchange="calc()" />4
<input type="radio" value="5" name="sluzba" id="jhgfi5" onchange="calc()" />5

<h2>Hosting</h2>
<input type="radio" value="1" name="hosting" id="jhgfia1" onchange="calc()" />1
<input type="radio" value="2" name="hosting" id="jhgfia2" onchange="calc()" />2
<input type="radio" value="3" name="hosting" id="jhgfia3" onchange="calc()" />3

<h2>Domény</h2>
<input type="radio" value="1" name="domena" id="jhgfie1" onchange="calc()" />1
<input type="radio" value="2" name="domena" id="jhgfie2" onchange="calc()" />2
<input type="radio" value="3" name="domena" id="jhgfie3" onchange="calc()" />3

<input type="text" name="celkem" class="celkem" id="celkem" />
</form>
</body>
</html> 
juriad
Profil
http://kod.djpw.cz/ucbb
A co třeba takto jednoduše?
sir_lamoid
Profil
Všem děkuji vyřešena uzamykám téma
Moderátor jenikkozak: Odemykám, třeba by chtěl někdo něco doplnit.

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: