Autor | Zpráva | ||
---|---|---|---|
Yeti Profil * |
#1 · Zasláno: 9. 12. 2012, 08:55:15
Ahoj, potřboval bych poradit:
ve formuláři kontroluji zdali uživatel zadává pouze čísla do určitých inputů mám na to tuhle funkci: function validate(evt) { var theEvent = evt || window.event; var key = theEvent.keyCode || theEvent.which; key = String.fromCharCode( key ); var regex = /[0-9]|\./; if( !regex.test(key) ) { theEvent.returnValue = false; if(theEvent.preventDefault) theEvent.preventDefault(); } } <input type="text" name="jen_cisla" onkeypress="validate(event);" maxlength="10" placeholder="0123456789"> funguje to skvěle, uživatel tam prostě jinou věc než číslo nezadá, ale já bych to potřeboval doplnit o nějaké znaky, aby mohl používat backspace, delete šipky, tab, prostě věci co normálně používáte v inputech a nevím jak na to :( Dík za váš čas :) |
||
Fisir Profil |
#2 · Zasláno: 9. 12. 2012, 09:55:06
|
||
Yeti Profil * |
#3 · Zasláno: 9. 12. 2012, 09:58:34 · Upravil/a: Yeti
o jo, ale to tam pak pujdou zadat písmena a až pak ti to oznámí že tam muzes davat jen cisla, ja chci aby tam ty písmena nešli zadat vůbec
sorry, už mi to došlo :D ale nenapadá mě jak to upravit tak aby to počítalo s value a ne event :( mohl by jsi mi sem porsím hodit kod nebo napsat jak na to? dík moc :) |
||
1Pupik1989 Profil |
#4 · Zasláno: 9. 12. 2012, 11:32:49
Ve funkci test() bude místo kez evt.target.value nebo this.value. Momentálně si nevzpomenu jestli to druhé jde. První mám pocit nejde v ie, tam je to this.srcElement.
Opravte mě někdo, pokud se pletu, teď nemám přístup k pc. |
||
_es Profil |
|||
peta Profil |
Tak ty eventy se daji resit i takhle
function getKeyBoard(event) { return { key: event.keyCode || event.which, el: event.srcElement || event.target //event.relatedTarget || event.fromElement; }; } function validate(event) var kbd, key; kbd = getKeyBoard(event); key = kbd.key; ... Yeti: Jenze key-eventy vubec nemusis resit, jak psal Fisir, pouzij value. onkeyup="this.value=this.value.replace(/[^0-9\.]/,'');" onblur="this.value=this.value.replace(/[^0-9\.]/,'');" |
||
1Pupik1989 Profil |
#7 · Zasláno: 10. 12. 2012, 11:18:51
do onkeypress bych dal "validate(this)". To jsem přehlédl. Pak by to bylo "evt.value".
|
||
Časová prodleva: 11 let
|
0