Autor Zpráva
MilanJ
Profil
Mám formulář a samozřejmě chci, aby uživatel určitá políčka vyplnil.
Mohu použít JavaScript a hlášení zobrazovat v okně window.alert, já ale chci, aby se zobrazovala vedle nevyplněného políčka hláškou, např.: "Tohle políčko musíte vyplnit". Nadefinoval jsem si hlášky, rozmístil je patřičná místa a pomocí CSS zneviditelnil (display: none;).
Teď chci, aby se po odeslání formuláře s nevyplněnými poli vrátila stránka zpět do stavu vyplňování formuláře, a to i se zobrazenými hláškami o vyplnění tam, kde došlo k chybě.

Poradí někdo prosím?
nightfish
Profil
ja to delam takto
na onsubmit formulare povesim funkci, ktera to zkontroluje a v alertu zobrazi vsechna nevyplnena pole
po uspesnem odeslani formulare pak jeste zkontroluju na strane serveru, je-li vse korektne zadano, pripadne pak znovu zobrazim formular s tim, co tam neni vyplneno
Godson7
Profil
nejsnazší by bylo spustit nějakou funkci javascriptu při události onsubmit daného formuláře. Funkce by zkontrolovala všechny políčka a u těch prázdných nebo špatně vyplněných (např. email) by zviditelnila ty skryté chybové hlašky (display:inline;). Pokud bude vše OK, formulář se odešle, jinak to javascript nepustí. Doporučuji pak i kontrolu na straně serveru, pokud se někomu podaří obejít javascript.
Godson7
Profil
jako více rafinovanější řešení bych viděl okamžité zviditelnění chybové hlášky pokud uživatel přeskočil dané políčko tím, že aktivoval (onfocus) další. "Normální" uživatel totiž vyplňuje formulář shora dolů (pokud mu to webmaster/"layout designer" umožní). Výhoda je v tom, že se okamžitě vyhodnotí předchozí políčko a uživatel hned uvidí, že ho nechal prázdné nebo zprasil email, nemusí se pak vracet po onsubmit a hledat co je vlastně blbě. Ovšem všeho s mírou, hlavně, aby uživatelé měli tušení co tam s ním provádíš, není nic horšího než přehnaná bu*erace od javascriptu.
habendorf
Profil
aby se po odeslání formuláře s nevyplněnými poli vrátila stránka zpět do stavu vyplňování formuláře

Proboha proč až po odeslání? To si zkontroluj javascriptem ještě před odesláním. A na serveru si to už jen překontroluješ.
Toto téma je uzamčeno. Odpověď nelze zaslat.