Autor Zpráva
pavelrejha
Profil
Zdravím,
můžete mi prosím někdo poradit, co mám napsat do "kontrolaDat", aby se formulář odeslal, pouze když bude checkbox zaškrtnutý??? Předem děkuji za polopatickou pomoc :-(

<script>
function kontrolaDat(vstup){
    zadanaHodnota = vstup.email.value;
    if( zadanaHodnota.indexOf("@") == -1)
        {alert("Ve Vašem e-mailu chybí zavináč!"); return false;}
        zadanaHodnota = vstup.email.value;
    if( zadanaHodnota.indexOf(".") == -1)
        {alert("Ve Vašem e-mailu chybí tečka!"); return false;}
                zadanaHodnota = vstup.pole.value;
    if( zadanaHodnota.indexOf("0") == -1)
        {alert("Dotaz nelze odeslat bez odsouhlasení OP!"); return false;}
    else return true;
}
</script>

<form action="data.php" method="post" onsubmit="return kontrolaDat(this)">
<p>Váš e-mail:<br>
<input name="email"></p>
<p>Vaše jméno:<br>
<input name="predmet"></p>
<p>Dotaz:<br>
<textarea name="zprava" rows="8">text</textarea></p>
<a href="#">OP</a> <input type="checkbox" name="pole" value="???????????">
<p><input type="submit" value="Odeslat"></p>
</form>
Kajman
Profil
    if( !vstup['pole'].checked)
        {alert("Dotaz nelze odeslat bez odsouhlasení OP!"); return false;}
Anonymni
Profil *
V html5 lze do formulářových prvků vložit atribut required. Podpora toho je docela dobrá caniuse.com/#search=required. Nebo je to v něčem lepší psát pomocí javascriptu?
Keeehi
Profil
Anonymni:
Z hlediska funkčních požadavků není nutné dělat kontrolu přímo v prohlížeči. Kontrola vyplněnosti musí vždy proběhnout na serveru. Kontrola v prohlížeči je kvůli UX. Těžko říci co je lepší. V různých kontextech je to různé. Atribut required je jednoduchá možnost jak takové kontroly dosáhnout. Vzhled a chování je pak závislé na prohlížeči, což v některých případech je dobře, uživatelé jsou na to zvyklí ale v některých případech to může být na obtíž. V takovém případě se dá použít javascript. Obě možnosti je samozřejmě možné taky kombinovat.

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: