Làm cách nào để hạn chế đầu vào html thành các giá trị số?

Ok, đây là một cách khá cơ bản - làm thế nào để buộc một hộp văn bản chỉ chấp nhận đầu vào số. Ai đó đã hỏi tôi điều này hôm nay trong một cuộc gọi hỗ trợ, vì vậy tôi đã thực hiện một số tra cứu nhanh trên mạng và thấy các giải pháp được liệt kê khá không hài lòng. Vấn đề chính với hầu hết các ví dụ mà tôi có thể khai thác được là chúng chỉ bao gồm các giá trị số, nhưng điều đó mang lại trải nghiệm người dùng khá khập khiễng. Bạn vẫn cần cho phép các phím thao tác cơ bản cho hộp văn bản – phím điều hướng, xóa lùi và xóa, tab/shift tab và phím Enter – để hoạt động, nếu không, hộp văn bản sẽ có cảm giác rất khác so với hộp văn bản tiêu chuẩn

Có, có những phần bổ trợ cho phép đầu vào được che dấu đủ dễ dàng nhưng hầu hết đều có chiều rộng cố định, điều này khó thực hiện với đầu vào số đơn giản. Vì vậy, tôi đã dành vài phút để viết một plug-in nhỏ có thể tái sử dụng để xử lý tình huống này. Hãy tưởng tượng bạn có một vài hộp văn bản trên một biểu mẫu như thế này

Enter a number:
Enter a number:

và bạn muốn hạn chế nhập vào các số. Đây là một nhỏ. buộc plugin Numeric[] jQuery thực hiện những gì tôi muốn thấy trong trường hợp này

Đã cập nhật nhờ Elijah Manor về một vài điều chỉnh nhỏ để có thêm các phím cần kiểm tra


 $[document].ready[function [] {
     $[".numberinput"].forceNumeric[];
 }];

 // forceNumeric[] plug-in implementation
 jQuery.fn.forceNumeric = function [] {
     return this.each[function [] {
         $[this].keydown[function [e] {
             var key = e.which || e.keyCode;

             if [!e.shiftKey && !e.altKey && !e.ctrlKey &&
             // numbers   
                 key >= 48 && key = 96 && key = 48 && key = 96 && key 

Chủ Đề