Autor Zpráva
Saska
Profil *
Ahoj, potřebovala bych drobnost, v inputu potřebuji kontrolovat vstup. V případě, že dojde k vložení znaku "+" tak ten změnit na 1, znak "ě" nahradit znakem 2, znak "š" nahradit znakem 3 atd.
Věděl by někdo jednoduché a rychlé řešení?
Amunak
Profil
Saska:
Pokud ti nevadí, že do pole prakticky nepůjde napsat čísla (a plus), můžeš na onChange navěsit funkci, která bude ta čísla nahrazovat českými znaky s diakritikou znaky s diakritikou nahrazovat čísly.

Ale přijde mi to trochu jako hloupost. Nejspíš se tím snažíš řešit nějaký problém, kterému by třeba šlo předejít - proč přesně to potřebuješ?
_es
Profil
Saska:
A čo ak bude nastavená nie česká ani anglická, ale nejaká iná klávesnica - napríklad slovenská?
weroro
Profil
Amunak:
můžeš na onChange navěsit funkci, která bude ta čísla nahrazovat českými znaky s diakritikou.
Ona to chce presne opačne.
Mám pocit, že chce zabrániť vpísaniu nečíselných znakov ak je užívateľ na notebooku bez numerickej klávesnice, kde CZ/SK používatelia niekedy zabudnú stlačiť pri písaní čísiel klávesu SHIFT alebo sa chce stlačeniu shift priamo vyhnúť.

_es:
Nemajú klávesy rovnaké kódové označenie? Neskúmal som to ale je rozdiel medzi ľ napísaným pomocou slovenskej klávesnice a medzi 2 napísaným cez anglickú klávesnicu, aj keď som vlastne stlačil rovnakú klávesu?
YoSarin
Profil
A co HTML5 defaultní validace (http://www.the-art-of-web.com/html/html5-form-validation/)? V mobilních zařízeních to navíc (snad) vynutí zobrazení správné softwarové klávesnice... (wild guess)
Chamurappi
Profil
Reaguji na YoSarina:
Saska asi nemá problém s tím, že by chtěla uživateli vynadat za ěščřž, chce mu pomoct při zadávání.
Nedávno jsem přesně totéž programoval do klasické desktopové aplikace a uznávám, že tahle invaze do uživatelského vstupu může být přínosná…

V mobilních zařízeních to navíc (snad) vynutí zobrazení správné softwarové klávesnice
Nespoléhat na to.


Reaguji na werora:
Nemajú klávesy rovnaké kódové označenie?
Myslím, že nemají. Operační systémy do toho kecají, nastavené rozložení klávesnice hraje roli, i když trochu menší, než když se čte vzniknuvší znak. Třeba při stisku klávesy Y je v události onmousedown v event.keyCode totéž nezávisle na tom, zda se drží shift nebo zda je přepnutý caps lock, ale pozice rozložení QWERTY/QWERTZ vliv má.
Saska
Profil *
Potřebuji to pro čtečku RFID čipů u které nelze nastavit znaková sada, takže to píše co to píše místo 1234567890 -> +ěščřžýáíé
1Pupik1989
Profil
To ti asi nezbyde nic jiného, než vytvořit si pole znaků s převodem třeba do unicode. Respektive kód zdrojových znaků na čísla. Čili to bude pole o obsahu 10 znaků. Mrkni na "String
.prototype.charCodeAt". Zase záleží i na kódování v kterém je to zpracovávané. Je to puštěné v prohlížeči, nebo je to desktop aplikace?

//edit: Tak po názvu tématu je to jednodušší. Pokud je to uživatelský vstup, tak pomůže metoda "replace" s callbackem.

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: