Phần tử
5 kiểu
6 được sử dụng để cho phép người dùng nhập một số. Chúng bao gồm xác thực tích hợp để từ chối các mục nhập không phải là sốTrình duyệt có thể chọn cung cấp các mũi tên theo bước để cho phép người dùng tăng và giảm giá trị bằng chuột hoặc bằng cách chạm bằng đầu ngón tay
Thử nó
Trên các trình duyệt không hỗ trợ đầu vào loại
6, đầu vào
6 sẽ chuyển về loại
9Giá trị A Number of tickets you would like to buy:
0 đại diện cho một số hoặc các sự kiện trốngNumber of tickets you would like to buy:
1 và Number of tickets you would like to buy:
2Các thuộc tính chung được hỗ trợNumber of tickets you would like to buy:
3, Number of tickets you would like to buy:
4, Number of tickets you would like to buy:
5, Number of tickets you would like to buy:
6Các thuộc tính IDLNumber of tickets you would like to buy:
4, Number of tickets you would like to buy:
8, Number of tickets you would like to buy:
9Giao diện DOM
50Phương pháp ________ 151, ________ 152, ________ 153Giá trị
Một số đại diện cho giá trị của số được nhập vào đầu vào. Bạn có thể đặt giá trị mặc định cho đầu vào bằng cách bao gồm một số bên trong thuộc tính
Number of tickets you would like to buy:
8, như vậy
0thuộc tính bổ sung
Ngoài các thuộc tính thường được hỗ trợ bởi tất cả các loại
5, đầu vào của loại
6 hỗ trợ các thuộc tính nàyNumber of tickets you would like to buy:
4
Number of tickets you would like to buy:
Các giá trị của thuộc tính danh sách là
58 của phần tử
59 nằm trong cùng một tài liệu.
59 cung cấp danh sách các giá trị được xác định trước để đề xuất cho người dùng cho đầu vào này. Bất kỳ giá trị nào trong danh sách không tương thích với
71 đều không được đưa vào các tùy chọn được đề xuất. Các giá trị được cung cấp là đề xuất, không phải yêu cầu. người dùng có thể chọn từ danh sách được xác định trước này hoặc cung cấp một giá trị khác
72
Giá trị tối đa để chấp nhận cho đầu vào này. Nếu
Number of tickets you would like to buy:
8 được nhập vào phần tử vượt quá giá trị này, thì phần tử không xác thực được ràng buộc. Nếu giá trị của thuộc tính
72 không phải là số thì phần tử đó không có giá trị lớn nhấtGiá trị này phải lớn hơn hoặc bằng giá trị của thuộc tính
75
75
Giá trị tối thiểu để chấp nhận cho đầu vào này. Nếu
Number of tickets you would like to buy:
8 của phần tử nhỏ hơn giá trị này, thì phần tử không xác thực được ràng buộc. Nếu một giá trị được chỉ định cho
75 không phải là số hợp lệ, đầu vào không có giá trị tối thiểuGiá trị này phải nhỏ hơn hoặc bằng giá trị của thuộc tính
72Number of tickets you would like to buy:
5
Number of tickets you would like to buy:
Thuộc tính
Number of tickets you would like to buy:
5 là một chuỗi cung cấp gợi ý ngắn gọn cho người dùng về loại thông tin được mong đợi trong trường. Nó phải là một từ hoặc cụm từ ngắn thể hiện loại dữ liệu dự kiến, chứ không phải là một thông báo giải thích. Văn bản không được bao gồm dấu xuống dòng hoặc xuống dòngNếu nội dung của điều khiển có một hướng [LTR hoặc RTL] nhưng cần hiển thị trình giữ chỗ theo hướng ngược lại, bạn có thể sử dụng các ký tự định dạng thuật toán hai chiều Unicode để ghi đè hướng trong trình giữ chỗ;
Note: Avoid using the
Number of tickets you would like to buy:
5 attribute if you can. It is not as semantically useful as other ways to explain your form, and can cause unexpected technical issues with your content. See Labels and placeholders in : The Input [Form Input] element for more information.Number of tickets you would like to buy:
6
Number of tickets you would like to buy:
Thuộc tính Boolean, nếu có, nghĩa là người dùng không thể chỉnh sửa trường này. Tuy nhiên,
Number of tickets you would like to buy:
8 của nó vẫn có thể được thay đổi bằng mã JavaScript trực tiếp đặt thuộc tính
50 Number of tickets you would like to buy:
8Ghi chú. Vì trường chỉ đọc không thể có giá trị, nên
37 không có bất kỳ ảnh hưởng nào đối với các đầu vào có thuộc tính Number of tickets you would like to buy:
6 cũng được chỉ định
39
Thuộc tính
39 là một số chỉ định mức độ chi tiết mà giá trị phải tuân theo hoặc giá trị đặc biệt
71, được mô tả bên dưới. Chỉ các giá trị bằng với cơ sở để bước [
75 nếu được chỉ định, Number of tickets you would like to buy:
8 nếu không, và một giá trị mặc định phù hợp nếu không có giá trị nào được cung cấp] mới hợp lệGiá trị chuỗi của
71 có nghĩa là không có bước nào được ngụ ý và mọi giá trị đều được phép [không bao gồm các ràng buộc khác, chẳng hạn như
75 và
72]Ghi chú. Khi dữ liệu do người dùng nhập không tuân theo cấu hình từng bước, tác nhân người dùng có thể làm tròn đến giá trị hợp lệ gần nhất, ưu tiên các số theo hướng dương khi có hai tùy chọn gần bằng nhau
Giá trị bước mặc định cho đầu vào
6 là
78, chỉ cho phép nhập số nguyên—trừ khi cơ sở bước không phải là số nguyênSử dụng đầu vào số
Loại đầu vào
6 chỉ nên được sử dụng cho các số gia tăng, đặc biệt khi việc tăng và giảm nút xoay hữu ích cho trải nghiệm người dùng. Loại đầu vào
6 không phù hợp với các giá trị chỉ bao gồm các số nhưng không nói đúng ra là số, chẳng hạn như mã bưu chính ở nhiều quốc gia hoặc số thẻ tín dụng. Đối với đầu vào không phải là số, hãy cân nhắc sử dụng loại đầu vào khác, chẳng hạn như Number of tickets you would like to buy:
71 hoặc loại
5 khác với thuộc tính Number of tickets you would like to buy:
73
Phần tử
Number of tickets you would like to buy:
74 có thể giúp đơn giản hóa công việc của bạn khi xây dựng giao diện người dùng và logic để nhập số vào biểu mẫu. Khi bạn tạo đầu vào số với giá trị
71 thích hợp,
6, bạn sẽ nhận được xác thực tự động rằng văn bản đã nhập là một số và thường là một tập hợp các nút lên và xuống để tăng và giảm giá trịCảnh báo. Về mặt logic, bạn sẽ không thể nhập các ký tự bên trong một đầu vào số không phải là số. Một số trình duyệt cho phép các ký tự không hợp lệ, một số khác thì không;
Ghi chú. Người dùng có thể sửa lại HTML của bạn ở hậu trường, vì vậy trang web của bạn không được sử dụng xác thực phía máy khách đơn giản cho bất kỳ mục đích bảo mật nào. Bạn phải xác minh ở phía máy chủ bất kỳ giao dịch nào trong đó giá trị được cung cấp có thể có ý nghĩa bảo mật dưới bất kỳ hình thức nào
Trình duyệt dành cho thiết bị di động hỗ trợ thêm cho trải nghiệm người dùng bằng cách hiển thị một bàn phím đặc biệt phù hợp hơn để nhập số khi người dùng cố gắng nhập một giá trị
Nhập số đơn giản
Ở dạng cơ bản nhất, một đầu vào số có thể được triển khai như thế này
Number of tickets you would like to buy:
Nhập số được coi là hợp lệ khi trống và khi nhập một số duy nhất, nhưng nếu không thì không hợp lệ. Nếu thuộc tính
37 được sử dụng, đầu vào không còn được coi là hợp lệ khi trốngGhi chú. Bất kỳ số nào cũng là giá trị có thể chấp nhận được, miễn là số đó là số dấu phẩy động hợp lệ [nghĩa là không phải NaN hoặc Infinity]
Trình giữ chỗ
Đôi khi, thật hữu ích khi đưa ra gợi ý trong ngữ cảnh về dạng dữ liệu đầu vào sẽ có. Điều này có thể đặc biệt quan trọng nếu thiết kế trang không cung cấp nhãn mô tả cho mỗi
5. Đây là nơi giữ chỗ đến. Trình giữ chỗ là một giá trị được sử dụng phổ biến nhất để cung cấp gợi ý về định dạng mà đầu vào sẽ sử dụng Number of tickets you would like to buy:
8. Nó được hiển thị bên trong hộp chỉnh sửa khi Number of tickets you would like to buy:
8 của phần tử là Number of tickets you would like to buy:
91. Khi dữ liệu được nhập vào hộp, trình giữ chỗ sẽ biến mất; Ở đây, chúng tôi có đầu vào
6 với trình giữ chỗ "Number of tickets you would like to buy:
93". Lưu ý cách trình giữ chỗ biến mất và xuất hiện lại khi bạn thao tác với nội dung của trường chỉnh sửa
5Kiểm soát kích thước bước
Theo mặc định, các nút lên và xuống được cung cấp để bạn bước số lên và xuống sẽ bước giá trị lên và xuống 1. Bạn có thể thay đổi điều này bằng cách cung cấp thuộc tính
39, thuộc tính này nhận giá trị của nó là một số chỉ định số lượng bước. Ví dụ trên của chúng tôi chứa một trình giữ chỗ nói rằng giá trị phải là bội số của 10, vì vậy sẽ hợp lý khi thêm giá trị
39 của Number of tickets you would like to buy:
96
7Trong ví dụ này, bạn sẽ thấy rằng các mũi tên bước lên và xuống sẽ tăng và giảm giá trị 10 lần mỗi lần chứ không phải 1. Bạn vẫn có thể nhập thủ công một số không phải là bội số của 10, nhưng số đó sẽ bị coi là không hợp lệ
Chỉ định giá trị tối thiểu và tối đa
Bạn có thể sử dụng các thuộc tính
75 và
72 để chỉ định giá trị tối thiểu và tối đa mà trường có thể có. Ví dụ: hãy đưa ra ví dụ của chúng tôi tối thiểu là Number of tickets you would like to buy:
99 và tối đa là Number of tickets you would like to buy:
00
3Trong phiên bản cập nhật này, bạn sẽ thấy rằng các nút bước lên và xuống sẽ không cho phép bạn xuống dưới 0 hoặc trên 100. Bạn vẫn có thể nhập số ngoài các giới hạn này theo cách thủ công, nhưng số đó sẽ bị coi là không hợp lệ
Cho phép giá trị thập phân
Một vấn đề với đầu vào số là kích thước bước của chúng là 1 theo mặc định. Nếu bạn cố gắng nhập một số có phần thập phân [chẳng hạn như "1. 0"], nó sẽ bị coi là không hợp lệ. Nếu bạn muốn nhập một giá trị yêu cầu số thập phân, bạn cần phản ánh điều này trong giá trị
39 [e. g. Number of tickets you would like to buy:
02 để cho phép số thập phân đến hai chữ số thập phân]. Đây là một ví dụ đơn giản
7Xem ví dụ này cho phép bất kỳ giá trị nào giữa
Number of tickets you would like to buy:
03 và Number of tickets you would like to buy:
04, với số thập phân đến hai vị trí. Ví dụ: "9. 52" là hợp lệ, nhưng "9. 521" không phảiKiểm soát kích thước đầu vào
Các phần tử
5 thuộc loại
6 không hỗ trợ các thuộc tính định cỡ biểu mẫu, chẳng hạn như Number of tickets you would like to buy:
07. Bạn sẽ phải sử dụng CSS để thay đổi kích thước của các điều khiển nàyVí dụ: để điều chỉnh độ rộng của đầu vào chỉ rộng bằng mức cần thiết để nhập một số có ba chữ số, chúng ta có thể thay đổi HTML của mình để bao gồm một
58 và để rút ngắn trình giữ chỗ của chúng ta vì trường sẽ quá hẹp đối với văn bản Number of tickets you would like to buy:
7Sau đó, chúng tôi thêm một số CSS để thu hẹp chiều rộng của phần tử bằng bộ chọn
58
00Number of tickets you would like to buy:
9Kết quả trông như thế này
Cung cấp các giá trị được đề xuất
Bạn có thể cung cấp danh sách các tùy chọn mặc định mà người dùng có thể chọn bằng cách chỉ định thuộc tính
Number of tickets you would like to buy:
4, thuộc tính này chứa giá trị của nó là
58 của một
59, thuộc tính này chứa một phần tử
04 cho mỗi giá trị được đề xuất. Mỗi Number of tickets you would like to buy:
8 của
05 là giá trị gợi ý tương ứng cho ô nhập sốNumber of tickets you would like to buy:
0Thẩm định
Chúng tôi đã đề cập đến một số tính năng xác thực của đầu vào
6, nhưng bây giờ hãy xem lại chúng- Các phần tử
74 tự động làm mất hiệu lực bất kỳ mục nhập nào không phải là số [hoặc trống, trừ khi chỉ địnhNumber of tickets you would like to buy:
37] - Bạn có thể sử dụng thuộc tính
37 để làm cho mục nhập trống không hợp lệ. [Nói cách khác, đầu vào phải được điền vào. ] - Bạn có thể sử dụng thuộc tính
39 để hạn chế các giá trị hợp lệ trong một tập hợp các bước nhất định [e. g. , bội số của 10] - Bạn có thể sử dụng các thuộc tính
75 và
72 để giới hạn các giá trị hợp lệ ở giới hạn trên và dưới
Ví dụ sau thể hiện tất cả các tính năng trên, cũng như sử dụng một số CSS để hiển thị các biểu tượng hợp lệ và không hợp lệ, tùy thuộc vào giá trị của
Number of tickets you would like to buy:
2
0Hãy thử gửi biểu mẫu với các giá trị không hợp lệ khác được nhập — e. g. , không có giá trị;
CSS áp dụng cho ví dụ này như sau
1Ở đây, chúng tôi sử dụng các lớp giả
15 và
16 để hiển thị một biểu tượng hợp lệ hoặc không hợp lệ thích hợp dưới dạng nội dung được tạo trên phần tử
17 liền kề, như một chỉ báo trực quan về tính hợp lệChúng tôi đặt nó trên một phần tử
17 riêng biệt để tăng tính linh hoạt. Một số trình duyệt không hiển thị nội dung được tạo rất hiệu quả trên một số loại đầu vào biểu mẫu. [Đọc, ví dụ, phần về xác nhận
19. ]Cảnh báo. Xác thực biểu mẫu HTML không thay thế cho các tập lệnh phía máy chủ đảm bảo rằng dữ liệu đã nhập ở định dạng phù hợp
Quá dễ dàng để ai đó thực hiện các điều chỉnh đối với HTML cho phép họ bỏ qua xác thực hoặc xóa hoàn toàn. Cũng có thể ai đó bỏ qua HTML của bạn và gửi dữ liệu trực tiếp đến máy chủ của bạn
Nếu mã phía máy chủ của bạn không xác thực được dữ liệu mà nó nhận được, thảm họa có thể xảy ra khi dữ liệu được định dạng không đúng [hoặc dữ liệu quá lớn, không đúng loại, v.v.]
xác thực mẫu
Các phần tử
Number of tickets you would like to buy:
74 không hỗ trợ sử dụng thuộc tính
21 để làm cho các giá trị đã nhập tuân theo một mẫu biểu thức chính quy cụ thểLý do cho điều này là đầu vào số sẽ không hợp lệ nếu chúng chứa bất kỳ thứ gì ngoại trừ số và bạn có thể hạn chế số lượng chữ số hợp lệ tối thiểu và tối đa bằng cách sử dụng thuộc tính
75 và
72 [như đã giải thích ở trên]ví dụ
Chúng tôi đã đề cập đến thực tế là theo mặc định, số gia tăng là
78 và bạn có thể sử dụng thuộc tính
39 để cho phép nhập số thập phân. Hãy xem xét kỹ hơnTrong ví dụ sau đây là một biểu mẫu để nhập chiều cao của người dùng. Nó mặc định chấp nhận chiều cao tính bằng mét, nhưng bạn có thể nhấp vào nút có liên quan để thay đổi biểu mẫu để chấp nhận feet và inch thay thế. Đầu vào cho chiều cao tính bằng mét chấp nhận số thập phân đến hai vị trí
HTML trông như thế này
2Bạn sẽ thấy rằng chúng tôi đang sử dụng nhiều thuộc tính mà chúng tôi đã xem xét trong bài viết trước đó. Vì chúng tôi muốn chấp nhận giá trị mét tính bằng centimet, nên chúng tôi đã đặt giá trị
39 thành
27, để các giá trị như 1. 78 không được coi là không hợp lệ. Chúng tôi cũng đã cung cấp trình giữ chỗ cho đầu vào đóBan đầu, chúng tôi đã ẩn đầu vào feet và inch bằng cách sử dụng
28, để mét là loại mục nhập mặc địnhBây giờ, vào CSS. Điều này trông rất giống với kiểu xác thực mà chúng ta đã thấy trước đây;
3Và cuối cùng, JavaScript
4Sau khi khai báo một vài biến, một trình lắng nghe sự kiện được thêm vào
29 để điều khiển cơ chế chuyển đổi. Điều này khá đơn giản, chủ yếu liên quan đến việc thay đổi
30 và
31 của nút và cập nhật giá trị hiển thị của hai bộ đầu vào khi nhấn nút[Lưu ý rằng chúng tôi không chuyển đổi qua lại giữa mét và feet/inch ở đây, điều mà một ứng dụng web thực tế có thể sẽ làm. ]
Ghi chú. Khi người dùng nhấp vào nút, [các] thuộc tính
37 sẽ bị xóa khỏi [các] đầu vào mà chúng tôi đang ẩn và làm trống [các] thuộc tính Number of tickets you would like to buy:
8. Điều này là để biểu mẫu có thể được gửi nếu cả hai bộ đầu vào không được điền vào. Nó cũng đảm bảo rằng biểu mẫu sẽ không gửi dữ liệu mà người dùng không cố ýNếu bạn không làm điều này, bạn phải điền cả feet/inch và mét để gửi biểu mẫu
khả năng tiếp cận
Vai trò ẩn của phần tử
Number of tickets you would like to buy:
74 là
35. Nếu spinbutton không phải là một tính năng quan trọng để kiểm soát biểu mẫu của bạn, hãy cân nhắc không sử dụng
36. Thay vào đó, hãy sử dụng
37 cùng với thuộc tính
21 giới hạn ký tự thành số và ký tự liên quan. Với Number of tickets you would like to buy:
74, có nguy cơ người dùng vô tình tăng số khi họ đang cố làm việc khác. Ngoài ra, nếu người dùng cố gắng nhập thứ gì đó không phải là số, sẽ không có phản hồi rõ ràng về những gì họ đang làm saiNgoài ra, hãy cân nhắc sử dụng thuộc tính
Number of tickets you would like to buy:
3 để giúp người dùng hoàn thành biểu mẫu nhanh hơn và ít mắc lỗi hơn. Ví dụ: để bật tự động điền trên trường mã zip, hãy đặt
41