Rohkem
HTML tekstisisestus võimaldab ainult numbrilist sisestust
Kas on olemas kiire viis HTML tekstisisendi (<input type=text />
) seadistamiseks nii, et see lubaks ainult numbrilisi klahvivajutusi (pluss '.')? Pärast minimaalset, numbrilist väärtust ei lubanud alguses nagu 0.0 lubatud, kuid .0* ei lubata
785
3
Märkus: See on ajakohastatud vastus. Allpool olevad kommentaarid viitavad vanale versioonile, mis segas võtmekoodidega.
JavaScript
Proovige seda ise [JSFiddle'is][1].
Saate filtreerida teksti
<input>
sisendväärtusi järgmise funktsioonigasetInputFilter
(toetab Copy+Paste, Drag+Drop, klaviatuurikombinatsioone, kontekstmenüü operatsioone, mitte-kirjutatavaid klahve, caret positsiooni, erinevaid klaviatuuri paigutusi ja [kõiki brausereid alates IE 9-st][2]):Sisendfiltri paigaldamiseks saab nüüd kasutada funktsiooni
setInputFilter
:Siin on veel mõned näited sisendfiltrite kohta, mis võivad olla kasulikud:
2 lahendust:
(näiteks jQuery validation plugin).
Teha kontroll sisendvälja onblur (st kui kasutaja lahkub väljalt) sündmuse ajal, kasutades regulaaravaldist:
Võite proovida kasutada '''onkeydown''' sündmust ja tühistada sündmus (event.preventDefault või midagi sellist), kui see'ei ole üks lubatud võtmetest.