Autor Zpráva
Martos
Profil *
Zdravím, mám tebulku, kde bych chtěl u jednotlivých řádků sčítat hodnoty a v posledním řádku udělat součet všech řádků. Jak na to?

Jablka X ks Přepočítat 100,- Kč/ ks Celkem: ????? ,- Kč
Hrušky Y ks Přepočítat 150,- Kč/ ks Celkem: ????? ,- Kč
TOTAL: ????? ,- Kč

Takto vypadá můj zdroják.
<table border="0" width="800" cellspacing="0" cellpadding="0">
    <tr>
        <td>Jablka</td>
        <td><input type="text" size="4" name="jablka" id="jablka" value=""> ks</td>
        <td>Přepočítat</td>
        <td>100,- Kč/ ks</td>
        <td>Celkem:</td>
        <td>????? ,- Kč</td>
    </tr>
    <tr>
        <td>Hrušky</td>
        <td><input type="text" size="4" name="hrusky" id="hrusky" value=""> ks</td>
        <td>Přepočítat</td>
        <td>150,- Kč/ ks</td>
        <td>Celkem:</td>
        <td>????? ,- Kč</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>TOTAL:</td>
        <td>????? ,- Kč</td>
    </tr>
</table>

Moderátor panther: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Someone
Profil
Jednoduchý formulář a PHP:
<form method="POST">
<table border="0" width="800" cellspacing="0" cellpadding="0">
    <tr>
        <td>Jablka</td>
        <td><input type="text" size="4" name="jablka" id="jablka" value=""> ks</td>
        <td>100,- Kč/ ks</td>
        <td>Celkem:</td>
        <td><?php if(isset($_POST['spocitat'])) {echo $_POST['jablka']*100;}?>,-Kč</td>
    </tr>
    <tr>
        <td>Hrušky</td>
        <td><input type="text" size="4" name="hrusky" id="hrusky" value=""> ks</td>
        <td>150,- Kč/ ks</td>
        <td>Celkem:</td>
        <td><?php if(isset($_POST['spocitat'])) {echo $_POST['hrusky']*150;}?>,-Kč</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>TOTAL:</td>
        <td><?php if(isset($_POST['spocitat'])) {echo $_POST['hrusky']*150+$_POST['jablka']*100;}?>,-Kč</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><input type="submit" name="spocitat" value="Spočítat"></td>
    </tr>
</table>
</form>
Martos
Profil *
Someone:
Tak jsem to celé zkopíroval, hodil do html stránky, nahrál na web a po vyplnění políček a kliknutí na spočítat to nic nespočítalo a jen se políčka pro počet kusů vynulovala.
Dělám něco špatně? Nebo na serveru musí být možnost spouštění PHP?
Co s tím? Nejde to nějakým javascriptem?
T.Thomas
Profil *
Ono by kromě toho zkopírování to chtělo přidat formuláři nějakou akci. V tomto případě zpět na sebe.
ACTION="#"
T.Thomas
Profil *
Martos:
Tak jsem to celé zkopíroval, hodil do html stránky
a stránka musí mít příponu php
panther
Profil
T.Thomas:
by kromě toho zkopírování to chtělo přidat formuláři nějakou akci.
to, co jsi napsal, je stejné jako prázdný action a to je stejné jako chybějící action. Vždy se v těchto případech odešle formulář sám na sebe.

Martos:
Nejde to nějakým javascriptem?
i javascriptem to jde, neuvedl jsi, kde a jak to chceš počítat. Javascript ti výsledek nikam neuloží, ani neodešle. Po refreshi stránky o data přijdeš.

Budeš potřebovat událost, na kterou akci navážeš (onclick nebo onsubmit), zjistit hodnotu formulářových polí a posčítat (případně, pokud to budeš vázat na submit, tak zrušit defaultní akci, tzn. odeslání formuláře).
Martos
Profil *
panther:
Tak toto nedám. S tím PHP.... když to nahraju na server, kde mám stránky umístěné a na tom servru není aktivované PHP, tak mi to asi nepoběží, co?
Kdž to bude tím javascryptem, tak by to mohlo být lepší. Teoreticky mi stačí, aby pokliknutí na "Spočítat" vypočítal celkovou cenu na řádcích a TOTAL cenu všech řádků. Zároveň ale musí zůstat vyplněné ty políčka s počtem kusů.
Pak mi ten formulář pokračuje, kde se vyplní do dalších políček jen statické texty a po kliknutí na "Odeslat" se celý formulář odešle včetně všech hodnot, které jsou ve všech formulářových polích. To zajišťuje nějaké PHP, které je zavěšeno na nějakém jiném serveru. Po kliknutí na "Odeslat formulář" se volá právě to PHP.
Jak tedy udělat ten samotný součet?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0