Autor Zpráva
majo80
Profil *
Mám formulár, kde je iba výberové pole select:

<form action="#" method="post" >
<select name="akcia">
<option value="0">- vyberte akciu -</option>
<option value="1">zobraziť</option>
<option value="2">odstrániť</option>
</select>
</form>

A potrebujem aby sa vykonali dve akcie v závislosti na vybranej hodnote:

1) ak sa vyberie akcia "zobraziť" - klasicky odoslať tento formulár (parameter $akcia bude mať hodnotu 1)
2) ak sa vyberie akcia "odstrániť" - najskôr sa zobrazí confirm okno s potvrdením či naozaj odstrániť, ak bude stlačené NIE, nič sa nestane, ak bude stlačené "ÁNO" formulár sa odošle (parameter $akcia bude mať hodnotu 2)

Ide o to že v závislosti na vybranej hodnote v SELECT bude alebo nebude zobrazované okno s potvrdením akcie.

Majo
Keeehi
Profil
majo80:
Odeslání formuláře zachytí událost onsubmit, potvrzovací dialog je confirm()
majo80
Profil *
To viem, ale neviem ako to všetko spojiť tak aby to fungovalo ako potrebujem.
Someone
Profil
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <script>
            function potvrdit(form) {
                if (form.akcia.value==1) {
                    return true;
                } else if (form.akcia.value==2) {
                    return confirm("Opravdu si přejete provést akci ODSTRANIT?");
                } else {
                    return false;
                }
            }
        </script>
    </head>
    <body>
        <form onsubmit="return potvrdit(this)">
            <select name="akcia">
                <option value="0">- vyberte akciu -</option>
                <option value="1">zobraziť</option>
                <option value="2">odstrániť</option>
            </select>
            <input type="submit" name="submit" value="Odeslat" />
        </form>
    </body>
</html>
majo80
Profil *
Someone:
Ďakujem, toto je skoro ono, už len ako to napojiť na udalosť onchange prvku select, teda tak aby sa nemuselo stláčať tlačidlo Odeslat.
Someone
Profil
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <script>
            function potvrdit(form) {
                if (form.akcia.value==1) {
                    form.submit();
                } else if (form.akcia.value==2) {
                    if (confirm("Opravdu si přejete provést akci ODSTRANIT?")) {
                        form.submit();
                    }
                }
            }
        </script>
    </head>
    <body>
        <form>
            <select onchange="potvrdit(this.parentNode);" name="akcia">
                <option value="0">- vyberte akciu -</option>
                <option value="1">zobraziť</option>
                <option value="2">odstrániť</option>
            </select>
        </form>
    </body>
</html>
majo80
Profil *
Someone:
Perfektné, ďakujem veľmi pekne za pomoc.

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: