Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
petr_rovny
Člen
Avatar
petr_rovny:2.12.2014 19:43

Ahoj, můj dotaz asi částečně směřuje i do fóra pro HTML 5 a CSS, ale snad mi poradíte i vy tady.
Mám klasický PHP script, který obsahuje jak formulář, tak funkci pro ověření správnosti naplnění jeho polí a pokud jsou naplněna správně, tak uložení jeho obsahu do MySql. Nedokázal by jste mě prosím někdo nasměrovat na internetu na nějaký návod, nebo praktický příklad, který by dělal jen s použitím PHP, HTML a CSS (tedy bez použítí JavaScriptu, nebo bez nutnosti naučit se a instalovat si nějaký rozsáhlý už hotový framework) následující způsob zobrazení chybových hlášení?

Po odeslání formuláře se ověří předaný obsah polí a z pohledu uživatele se to zachová následujícím způsobem:

  1. pole nesplňující validační pravidla se orámují (např.: červenou barvou) a někde u nich se zobrazí jakoby pop-up s vlastní barvou pozadí a s odřádkovaným textem relevantní chybové hlášky(jako když myší najedete v html stránce na prvek, který má definovaný alternativní text a ten se vám vedle prvku zobrazí)

NEBO
b)pole nesplňující validační pravidla se orámují (např.: červenou barvou) a pod každým z nich se zobrazí relevantní chybová hláška. Přičemž v důsledku zobrazení chybových hlášek dojde k posunu jednotlivých polí formuláře

S nažil jsem se googelit a našel jsem řadu užitečných návodů jak ošetřit to validování obsahu formuláře (jeden pěkný je i na tomto webu). Ale nenašel jsem nikde návod na to vypisování hlášek.
Samozřejmě bych to mohl vyřešit posunutím celého formuláře o něco dolů a vypisováním hlášek nad ním, ale to není moc hezké a musel bych hlášky zbytečně prodlužovat uváděním názvu pole, kterého se týkají.

Předem moc díky za vaše rady.

 
Odpovědět
2.12.2014 19:43
Avatar
Pavel Junek
Tvůrce
Avatar
Pavel Junek:2.12.2014 19:57

Jestli to chceš bez JS, tak můžeš zkusit něco takového:

<input <?php if(isset($chyba)){echo 'class="cssTrida"';} ?> name="name" ... />

a zbytek si už uděláš v css (třída cssTrida)

 
Nahoru Odpovědět
2.12.2014 19:57
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na petr_rovny
Tonda Kozák:2.12.2014 19:58

O žádném návodu sice nevím, ale pokud zvládáš tu kontrolu formuláře, tak to můžeš dělat jednoduše tak (není to jediné řešení), že si uložíš do pole, která políčka byla uložena špatně.

Potom při opětovném opravném vypisování formuláře, pokud budeš mít políčko a nápovědu obalenou nějakým prvkem, můžeš jednoduše přidat jen nějakou třídu tomu obalu a v CSS nastavit, aby se zobrazila nápověda a orámovalo políčko, nějak takto:

http://kod.djpw.cz/aiib

 
Nahoru Odpovědět
2.12.2014 19:58
Avatar
petr_rovny
Člen
Avatar
Odpovídá na Pavel Junek
petr_rovny:2.12.2014 20:29

Dík moc za typy. Nemohli by jste mě prosím nasměrovat ještě na nějaký návod, kde je nějak polopaticky(nejlépe na příkladech) vysvětleno používání absolutního a relativního pozicování částí html stránky pomocí <div>, <span> a CSS? Dík moc.

 
Nahoru Odpovědět
2.12.2014 20:29
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na petr_rovny
Tonda Kozák:2.12.2014 20:35

Když polopatě, tak po lopatě: http://polopate.jakpsatweb.cz/index.php?…

O pozicování se můžeš dočíst třeba tu: http://www.jakpsatweb.cz/…icovani.html
Nebo tady: http://jecas.cz/position

 
Nahoru Odpovědět
2.12.2014 20:35
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.