Terkadang untuk mencegah user memasukan nilai yang lain selain yang dimaksud diperlukan. Tujuannya adalah untuk mencegah kesalahan input.
Berikut ini adalah salah satu trik pada javascript untuk mencegah pengguna memasukan nilai lain selain angka pada browser.
function onlyNumbers(evt) { // Mendapatkan key code var charCode = (evt.which) ? evt.which : event.keyCode; // Validasi hanya tombol angka if (charCode > 31 && (charCode < 48 || charCode > 57)) return false; return true; }
Penjelasan:
var charCode = (evt.which) ? evt.which : event.keyCode;
Berfungsi untuk mendapatkan nilai key code.
Pada browser berbasis IE, pada saat pengguna menekan tombol, event yang diaktifkan adalahevent.keyCode
.
Sedangkan pengguna non-IE, kebanyakan menggunakanevent.which
if (charCode > 31 && (charCode 57))
Kode tombol numerik/angka pada Javascript adalah 48-57. Selain itu, tombol lain tidak akan diterima.
Untuk lebih lanjut mengenai Javascript Key Code masuk ke tulisan sebelumnya (Javascript Char Codes (Key Codes)).
Penggunaan
Dengam memanfaatkan script di atas, tambahkan atribut onKeyPress
pada tag <input />
dengam mengaktifkan fungsi di onlyNumbers
tersebut.
<input type="text" name="nomor" onKeyPress="return onlyNumbers(event);" value="0" />