Moderní tvorba webových aplikací

O webu

Mezera v PSČ

Jak a zda vůbec automaticky odsazovat uživatelem zadané znaky PSČ do formulářového políčka.

4 minuty

Při zadávání poštovního směrovacího čísla může někoho napadnout, že by se jednotlivé číslice mohly automaticky odsazovat.

Obyvyklý formát PSČ sestává ze tří čísel, mezery a dalších dvou čísel. Například:

155 00

(Více informací o poštovních směrovacích číslech je k nalezení na Wikipedii.)

Z technického hlediska není problém automaticky po zadání třetího znaku přidat mezeru.

Najednou ale zjišťujeme, že je to zcela nedostatečné – je potřeba řešit následující případy a otázky:

  1. Automatickou mezeru by mělo být možné smazat.
  2. Když člověk zadá třetí číslo chybně a bude ho chtít smazat klávesou Backspace, má se mazat číslo, nebo mezera?
  3. Co s obsahem vloženým ze schránky nebo vybraným z uložených hodnot v prohlížeči?
  4. Nebude uživatele plést, že se mu pole mění pod rukama?

Něco je řešitelné inteligentnějším scriptem.

Samostatná ukázka

Je dobré si určit přínos, který automatické vložení mezery přináší. Asi by to mělo být minimalisování chyb při zadávání, kdy vložení mezery celé PSČ zpřehlední.

Zavedení doplňování mezery nám rozdělí uživatele do dvou skupin:

  1. Díky automatickému doplnění mezery si všimnou překlepu a PSČ tak bude v méně případech omylem špatně vyplněné.
  2. Nestandardní chování a měnění pod rukama bude uživatele obtěžovat.

A ta klíčová otázka je, které skupině dát přednost. Či zda vůbec není zvláštní políčko pro PSČ nadbytečné. Existenci poštovního směrovacího čísla je navíc možné relativně snadno ověřit oproti databási PSČ, která je dostupná na webu České pošty.

Otázku automatického vkládání mezer můžeme řešit ale i např. při zadávání telefonního čísla, které už ověřovat moc nejde. Nepříjemné chování, kdy se obsah <input>u mění pod rukama, vyřeší i přeformátování až při opuštění políčka (JS událost onblur) – bohužel toho si zase ale uživatel už nemusí všimnout

Odkazy jinam

Související články

Odeslání formuláře tlačítkem mimo něj

Jak odeslat formulář tlačítkem, které je mimo formulář.

3 minuty

Různá šířka <input type=number> s min/max

Proč má <input type=number> různou výchozí šířku v závislosti na min/max atributech.

3 minuty

Stylování <input type=range>

Jak docílit vlastního vzhledu range „slideru“.

7 minut

UX políčka pro datum narození

Jak usnadnit uživatelům zadávání data narození.

7 minut

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025