Pada pertengahan 2015, saya percaya ini adalah solusi terbaik:
<input type="number" pattern="[0-9]*" inputmode="numeric">
Ini akan memberi Anda tombol angka di Android dan iOS:
Ini juga memberi Anda perilaku desktop yang diharapkan dengan tombol panah atas / bawah dan penambahan tombol panah naik / turun ramah keyboard:
Cobalah dalam cuplikan kode ini:
<form>
<input type="number" pattern="[0-9]*" inputmode="numeric">
<button type="submit">Submit</button>
</form>
Dengan menggabungkan keduanya type="number"
dan pattern="[0-9]*
, kami mendapatkan solusi yang berfungsi di mana-mana. Dan, forward-nya kompatibel dengan inputmode
atribut HTML 5.1 yang diusulkan di masa depan .
Catatan: Menggunakan pola akan memicu validasi formulir asli browser. Anda dapat menonaktifkan ini menggunakan novalidate
atribut, atau Anda dapat menyesuaikan pesan kesalahan untuk validasi yang gagal menggunakan title
atribut.
Jika Anda harus dapat memasukkan nol, koma, atau huruf terkemuka - misalnya, kode pos internasional - lihat varian kecil ini .
Kredit dan bacaan lebih lanjut:
http://www.smashingmagazine.com/2015/05/form-inputs-browser-support-issue/
http://danielfriesen.name/blog/2013/09/19/input-type-number-and-ios- tombol angka/