Zadejte hledaný výraz...

JQuery – omezení psaní v inputu pouze na čísla 1 až N

KamilB
verified
rating uzivatele
(9 hodnocení)
10. 6. 2014 09:32:26
Ahoj,
nenašel by se prosím jQuery master, který by mi dokázal proadit s jedním problémem.
Snažím se vytvořit omezení pro input, aby do něj uživatel mohl zadat hodnotu 1 až N. Podařilo se mi vytvořit omezení pro 0 až N viz.: http://jsfiddle.net/7b9CY/
Nevěděli byste prosím ja upravit skript aby bral pouze čísla od 1 až do N?
Děkuji za všem za pomoc a rady.
Kamil B.
10. 6. 2014 09:32:26
https://webtrh.cz/diskuse/jquery-omezeni-psani-v-inputu-pouze-na-cisla-1-az-n/#reply1030750
Kloban
verified
rating uzivatele
10. 6. 2014 09:36:44
Místo e.which < 48 dej e.which < 49. Jestli jsem teda dotaz správně pochopil...
10. 6. 2014 09:36:44
https://webtrh.cz/diskuse/jquery-omezeni-psani-v-inputu-pouze-na-cisla-1-az-n/#reply1030749
10. 6. 2014 09:37:26
https://webtrh.cz/diskuse/jquery-omezeni-psani-v-inputu-pouze-na-cisla-1-az-n/#reply1030748
KamilB
verified
rating uzivatele
(9 hodnocení)
10. 6. 2014 09:40:41
Kloba: Bych přísahal, že jsem tam tu 49 měl když jsem to testoval :-(. Díky moc. Teď už se to chová správně. Ještě se zeptám, je toto řešení pro omezení znaků korektní nebo je lepší pouížívat jak psal msgexpert validaci pomocí regulárů.
---------- Příspěvek doplněn 10.06.2014 v 10:46 ----------
Ještě bych chtěl poprosit, to řešení s tím přepsáním 49 je super, akorát ta 0 se nedá zadat již nikde. Pokud bych chtěl zadat třeba 10, tak už to nezafunguje. Dalo by se to nějak ošetřit aby ta 49 zafungovala pouze na první znak a na další znaky už bylo možné používat 0-9. Tuto věc jsem si při dotazu neuvědomil.
Edit fiddle - JSFiddle
Díky za pomoc.
10. 6. 2014 09:40:41
https://webtrh.cz/diskuse/jquery-omezeni-psani-v-inputu-pouze-na-cisla-1-az-n/#reply1030747
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
10. 6. 2014 10:49:09
Zajímavé řešení, takové by mě asi nenapadlo. Napsal bych si funkci pro metodu onChange, pomocí primitivního regulárního výrazu zjistil, zda zadané je číslo, pokud ne, input bych vymazal. Odchytávání kláves například neřeší, že do inputu vložím text ze schránky.
10. 6. 2014 10:49:09
https://webtrh.cz/diskuse/jquery-omezeni-psani-v-inputu-pouze-na-cisla-1-az-n/#reply1030746
sqrt
verified
rating uzivatele
10. 6. 2014 11:19:51
Dalo by se to nějak ošetřit aby ta 49 zafungovala pouze na první znak a na další znaky už bylo možné používat 0-9.
Edit fiddle - JSFiddle
Každopádně jak už je zmíněno, tohle řeší jenom přímý vstup z klávesnice. Na druhou stranu drtivou většinu případů to pokrývá a zpracovávané hodnoty bys stejně měl kontrolovat ještě na backendu, takže by se to dalo považovat za "good enough".
10. 6. 2014 11:19:51
https://webtrh.cz/diskuse/jquery-omezeni-psani-v-inputu-pouze-na-cisla-1-az-n/#reply1030745
checkroot
verified
rating uzivatele
10. 6. 2014 13:23:27
Když jsem řešil tohle, použil jsem plugin maskedinput. Viz odkaz: http://plugins.jquery.com/maskedinput/
10. 6. 2014 13:23:27
https://webtrh.cz/diskuse/jquery-omezeni-psani-v-inputu-pouze-na-cisla-1-az-n/#reply1030744
mH081
verified
rating uzivatele
(1 hodnocení)
11. 6. 2014 01:09:47
Jinak takové věci se dají řešit i jinak než Javascriptem.
Práce s keyeventy skrz jednotlivé prohlížeče je tak trochu oser. Na takové věci se hodí použít spíš Google Closure Lib, místo jQuery.
11. 6. 2014 01:09:47
https://webtrh.cz/diskuse/jquery-omezeni-psani-v-inputu-pouze-na-cisla-1-az-n/#reply1030743
sqrt
verified
rating uzivatele
11. 6. 2014 05:59:28
Jinak takové věci se dají řešit i jinak než Javascriptem.
Do budoucna určitě super řešení, momentálně díky nepodpoře v Safari a IE(9 a starší) bych se tomu vyhnul. Případně se dá použít nějaký fallback, ale to už jsme zase u JavaScriptu :-).
Práce s keyeventy skrz jednotlivé prohlížeče je tak trochu oser.
Díky jQuery to právě "oser" není, to všechny rozdíly mezi prohlížeči řeší "pod povrchem". Případně upřesni, jak to bylo myšleno.
Na takové věci se hodí použít spíš Google Closure Lib, místo jQuery.
GC není špatná knihovna, ale někomu, kdo se zatím pere se základy jQuery bych jí asi nedoporučil.
11. 6. 2014 05:59:28
https://webtrh.cz/diskuse/jquery-omezeni-psani-v-inputu-pouze-na-cisla-1-az-n/#reply1030742
Pro odpověď se přihlašte.
Přihlásit