Có khá nhiều tùy chọn mà bạn có ở đây liên quan đến việc xử lý kích thước thực tế của phần tử của bạn. Như bạn đã biết, thuộc tính maxlength sẽ xử lý việc giới hạn phần tử ở 4 ký tự, tuy nhiên nếu bạn thực sự muốn tạo kiểu cho nó, hãy xem xét các tùy chọn sau.
Thuộc tính kích thước
Thuộc tính kích thước được sử dụng để định kích thước rõ ràng cho một phần tử đầu vào cụ thể sao cho chiều rộng tương ứng với một số ký tự cụ thể [lý tưởng là số mà bạn muốn nhập]
Sử dụng kích thước rõ ràng
Bạn có thể xác định kích thước cụ thể sẽ chỉ định chiều rộng cụ thể [sử dụng em, pt hoặc px] cho đến khi bạn đạt được hiệu quả mong muốn
Xem xét một phông chữ đơn cách
Việc sử dụng phông chữ đơn cách [trong đó mỗi ký tự được gán một khoảng cách bằng nhau] có thể là một giải pháp thích hợp khi được sử dụng kết hợp với một chiều rộng cụ thể để đảm bảo rằng 4 ký tự của bạn xuất hiện nhất quán
Bạn có thể xem các ví dụ về cả ba tùy chọn này đang hoạt động bên dưới.
Thuộc tính là một chuỗi chứa giá trị hiện tại của văn bản được nhập vào trường văn bản. Bạn có thể lấy cái này bằng cách sử dụng thuộc tính
Choose a username:
Submit
4
Choose a username:
Submit
3 trong JavaScriptlet theText = myTextInput.value;
Nếu không có ràng buộc xác thực nào được áp dụng cho đầu vào [xem để biết thêm chi tiết], giá trị có thể là một chuỗi rỗng [
Choose a username:
Submit
6]Ngoài các thuộc tính hoạt động trên tất cả các phần tử
Choose a username:
Submit
1 bất kể loại của chúng, kiểu nhập văn bản hỗ trợ các thuộc tính sauCác giá trị của thuộc tính danh sách là
Choose a username:
Submit
9 của một phần tử
Choose a username:
Submit
0 nằm trong cùng một tài liệu.
Choose a username:
Submit
0 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 không được bao gồm trong 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ácSố ký tự tối đa [dưới dạng đơn vị mã UTF-16] mà người dùng có thể nhập vào đầu vào
Choose a username:
Submit
2. Đây phải là một giá trị số nguyên 0 hoặc cao hơn. Nếu không có
Choose a username:
Submit
3 nào được chỉ định hoặc một giá trị không hợp lệ được chỉ định, thì đầu vào
Choose a username:
Submit
2 không có độ dài tối đa. Giá trị này cũng phải lớn hơn hoặc bằng giá trị của
Choose a username:
Submit
7Đầu vào sẽ không xác thực được ràng buộc nếu độ dài của giá trị văn bản của trường lớn hơn
Choose a username:
Submit
3 đơn vị mã UTF-16 dài. Xác thực ràng buộc chỉ được áp dụng khi giá trị được thay đổi bởi người dùngSố ký tự tối thiểu [dưới dạng đơn vị mã UTF-16] mà người dùng có thể nhập vào đầu vào
Choose a username:
Submit
2. Đây phải là một giá trị số nguyên không âm nhỏ hơn hoặc bằng giá trị được chỉ định bởi
Choose a username:
Submit
3. Nếu không có
Choose a username:
Submit
7 nào được chỉ định hoặc một giá trị không hợp lệ được chỉ định, thì đầu vào
Choose a username:
Submit
2 không có độ dài tối thiểuDữ liệu nhập vào sẽ không xác thực được ràng buộc nếu độ dài của văn bản được nhập vào trường này nhỏ hơn
Choose a username:
Submit
7 đơn vị mã UTF-16. Xác thực ràng buộc chỉ được áp dụng khi giá trị được thay đổi bởi người dùngThuộc tính
15, khi được chỉ định, là một biểu thức chính quy mà đầu vào phải khớp để giá trị vượt qua xác thực ràng buộc. Nó phải là một biểu thức chính quy JavaScript hợp lệ, như được sử dụng bởi loại 18 và như được ghi lại trong hướng dẫn của chúng tôi về các biểu thức chính quy; . Không được chỉ định dấu gạch chéo lên xung quanh văn bản mẫuNếu mẫu đã chỉ định không được chỉ định hoặc không hợp lệ, thì không có biểu thức chính quy nào được áp dụng và thuộc tính này bị bỏ qua hoàn toàn
Ghi chú. Sử dụng thuộc tính để chỉ định văn bản mà hầu hết các trình duyệt sẽ hiển thị dưới dạng chú giải công cụ để giải thích những yêu cầu để khớp với mẫu. Bạn cũng nên bao gồm văn bản giải thích khác gần đó
Xem để biết thêm chi tiết và một ví dụ
Thuộc tính
41 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
41 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 in : The Input [Form Input] element for more information.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,
Choose a username:
Submit
3 của nó vẫn có thể được thay đổi bằng mã JavaScript trực tiếp đặt thuộc tính
Choose a username:
Submit
4
Choose a username:
Submit
3Ghi chú. Vì trường chỉ đọc không thể có giá trị, nên
48 không có bất kỳ ảnh hưởng nào đối với đầu vào với thuộc tính 44 cũng được chỉ địnhThuộc tính
Choose a username:
Submit
10 là một giá trị số cho biết độ rộng của trường nhập phải là bao nhiêu ký tự. Giá trị phải là một số lớn hơn 0 và giá trị mặc định là 20. Vì độ rộng ký tự khác nhau, điều này có thể chính xác hoặc không chính xác và không nên dựa vào đó; Điều này không đặt giới hạn về số lượng ký tự mà người dùng có thể nhập vào trường. Nó chỉ xác định khoảng bao nhiêu có thể được nhìn thấy tại một thời điểm. Để đặt giới hạn trên cho độ dài của dữ liệu đầu vào, hãy sử dụng thuộc tính
Choose a username:
Submit
14 là một thuộc tính toàn cầu được sử dụng để cho biết có bật kiểm tra chính tả cho một phần tử hay không. Nó có thể được sử dụng trên bất kỳ nội dung có thể chỉnh sửa nào, nhưng ở đây chúng tôi xem xét các chi tiết cụ thể liên quan đến việc sử dụng
Choose a username:
Submit
14 trên các phần tử
Choose a username:
Submit
1. Các giá trị được phép cho
Choose a username:
Submit
14 là
Choose a username:
Submit
19Vô hiệu hóa kiểm tra chính tả cho phần tử này
Choose a username:
Submit
80Bật kiểm tra chính tả cho thành phần này
Choose a username:
Submit
6 [chuỗi trống] hoặc không có giá trịThực hiện theo hành vi mặc định của phần tử để kiểm tra chính tả. Điều này có thể dựa trên bối cảnh
Choose a username:
Submit
14 của cha mẹ hoặc các yếu tố khácMột trường nhập liệu có thể được bật kiểm tra chính tả nếu nó không có thuộc tính được đặt và không bị tắt
Giá trị được trả về bằng cách đọc
Choose a username:
Submit
14 có thể không phản ánh trạng thái kiểm tra chính tả thực tế trong một điều khiển, nếu tùy chọn của tác nhân người dùng ghi đè cài đặtCác thuộc tính không chuẩn sau đây cũng có sẵn trên một số trình duyệt. Theo nguyên tắc chung, bạn nên tránh sử dụng chúng trừ khi không thể giúp được
Tiện ích mở rộng của Safari, thuộc tính
Choose a username:
Submit
84 là một chuỗi cho biết có kích hoạt hiệu chỉnh tự động hay không trong khi người dùng đang chỉnh sửa trường này. giá trị được phép là
Choose a username:
Submit
86Cho phép tự động sửa lỗi chính tả, cũng như xử lý thay thế văn bản nếu có được định cấu hình
Choose a username:
Submit
87Vô hiệu hóa tự động sửa và thay thế văn bản
Tiện ích mở rộng của Mozilla, cung cấp gợi ý về loại hành động nào sẽ được thực hiện nếu người dùng nhấn phím Enter hoặc Return trong khi chỉnh sửa trường
Thuộc tính này đã không được dùng nữa. sử dụng thuộc tính toàn cầu thay thế
Các phần tử
Choose a username:
Submit
1 thuộc loại
Choose a username:
Submit
2 tạo đầu vào một dòng cơ bản. Bạn nên sử dụng chúng ở bất cứ nơi nào bạn muốn người dùng nhập giá trị một dòng và không có loại đầu vào cụ thể hơn để thu thập giá trị đó [ví dụ: nếu đó là ngày, URL, email hoặc cụm từ tìm kiếm, bạn'
Choose a username:
Submit
Điều này ám chỉ như vậy
Khi được gửi, cặp tên/giá trị dữ liệu được gửi đến máy chủ sẽ là
Choose a username:
Submit
82 [nếu "Chris" được nhập làm giá trị đầu vào trước khi gửi]. Bạn phải nhớ bao gồm thuộc tính trên phần tử
Choose a username:
Submit
1, nếu không, giá trị của trường văn bản sẽ không được bao gồm trong dữ liệu đã gửiBạn có thể cung cấp một trình giữ chỗ hữu ích bên trong kiểu nhập văn bản của mình để có thể cung cấp gợi ý về nội dung cần nhập bằng cách bao gồm sử dụng thuộc tính. Nhìn vào ví dụ sau
Choose a username:
Submit
Bạn có thể xem cách trình giữ chỗ được hiển thị bên dưới
Trình giữ chỗ thường được hiển thị bằng màu sáng hơn màu nền trước của phần tử và tự động biến mất khi người dùng bắt đầu nhập văn bản vào trường [hoặc bất cứ khi nào trường có giá trị được đặt theo chương trình bằng cách đặt thuộc tính
Choose a username:
Submit
3 của nó]Kích thước vật lý của hộp nhập liệu có thể được kiểm soát bằng thuộc tính. Với nó, bạn có thể chỉ định số lượng ký tự mà kiểu nhập văn bản có thể hiển thị tại một thời điểm. Điều này ảnh hưởng đến chiều rộng của phần tử, cho phép bạn chỉ định chiều rộng theo ký tự thay vì pixel. Ví dụ, trong ví dụ này, đầu vào rộng 30 ký tự
1Các phần tử
Choose a username:
Submit
1 thuộc loại
Choose a username:
Submit
2 không được áp dụng xác thực tự động cho chúng [vì kiểu nhập văn bản cơ bản cần có khả năng chấp nhận bất kỳ chuỗi tùy ý nào], nhưng có sẵn một số tùy chọn xác thực phía máy khách mà chúng ta sẽ thảo luận bên dướiGhi chú. Xác thực biểu mẫu HTML không thay thế cho tập lệnh máy chủ đảm bảo 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 hoàn toà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.] được nhập vào cơ sở dữ liệu của bạn
Có các lớp giả hữu ích có sẵn để tạo kiểu cho các phần tử biểu mẫu để giúp người dùng biết khi nào giá trị của chúng hợp lệ hoặc không hợp lệ. Đây là
Choose a username:
Submit
80 và
Choose a username:
Submit
81. Trong phần này, chúng ta sẽ sử dụng CSS sau, CSS này sẽ đặt dấu kiểm [đánh dấu] bên cạnh đầu vào chứa giá trị hợp lệ và dấu chéo [X] bên cạnh đầu vào chứa giá trị không hợp lệ4Kỹ thuật này cũng yêu cầu một phần tử
Choose a username:
Submit
82 được đặt sau phần tử biểu mẫu, phần tử này hoạt động như một giá đỡ cho các biểu tượng. Điều này là cần thiết vì một số loại đầu vào trên một số trình duyệt không hiển thị các biểu tượng được đặt ngay sau chúng rất tốtBạn có thể sử dụng thuộc tính như một cách dễ dàng để nhập giá trị bắt buộc trước khi cho phép gửi biểu mẫu
Choose a username:
Submit
1
Choose a username:
Submit
8Điều này ám chỉ như vậy
Nếu bạn cố gắng gửi biểu mẫu mà không nhập cụm từ tìm kiếm vào đó, trình duyệt sẽ hiển thị thông báo lỗi
Bạn có thể chỉ định độ dài tối thiểu [bằng ký tự] cho giá trị đã nhập bằng thuộc tính;
Ví dụ bên dưới yêu cầu giá trị đã nhập có độ dài từ 4–8 ký tự
Choose a username:
Submit
8
Choose a username:
Submit
8Điều này ám chỉ như vậy
Nếu cố gửi biểu mẫu có ít hơn 4 ký tự, bạn sẽ nhận được thông báo lỗi thích hợp [thông báo lỗi này khác nhau giữa các trình duyệt]. Nếu bạn cố gắng nhập nhiều hơn 8 ký tự, trình duyệt sẽ không cho phép bạn
Ghi chú. Nếu bạn chỉ định
Choose a username:
Submit
7 nhưng không chỉ định 48, đầu vào được coi là hợp lệ vì người dùng không bắt buộc phải chỉ định giá trịBạn có thể sử dụng thuộc tính để chỉ định một biểu thức chính quy mà giá trị đã nhập phải khớp để được coi là hợp lệ [xem khóa học cấp tốc đơn giản về cách sử dụng biểu thức chính quy để xác thực đầu vào]
Ví dụ bên dưới giới hạn giá trị ở 4-8 ký tự và yêu cầu giá trị đó chỉ chứa các chữ cái viết thường
Choose a username:
Submit
5
Choose a username:
Submit
0Điều này ám chỉ như vậy
Bạn có thể xem các ví dụ hay về kiểu nhập văn bản được sử dụng trong ngữ cảnh trong bài viết Biểu mẫu HTML đầu tiên của bạn và Cách cấu trúc một biểu mẫu HTML