NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
23/05/2024
Lượt xem

Thẻ Input trong HTML là gì? Tổng hợp các ví dụ về thẻ Input trong HTML

23/05/2024
15 phút đọc
Lượt xem

Đánh giá

4.9/5 - (61 bình chọn)

Chắc hẳn bạn đã từng lướt web và bắt gặp các ô điền thông tin, khung tìm kiếm hay nút bấm. Tất cả những yếu tố tương tác đó đều được tạo ra nhờ vào một thẻ HTML quan trọng: thẻ <input>. Trong bài viết này, mình sẽ giúp bạn khám phá chi tiết về thẻ <input>, từ khái niệm cơ bản, các loại input đa dạng giúp bạn ứng dụng ngay vào trang web của mình.

Thẻ Input trong HTML là gì?

Thẻ HTML <input> là một yếu tố cốt lõi trong việc xây dựng biểu mẫu trên các trang web. Thẻ <input> cho phép người dùng tương tác trực tiếp bằng cách nhập dữ liệu, lựa chọn các tùy chọn hoặc thực hiện các hành động khác. 

Thẻ input trong HTML giúp cho việc xây dựng form cho website
Thẻ input trong HTML giúp cho việc xây dựng form cho website

Để sử dụng thẻ <input>, bạn cần đặt nó bên trong một phần tử <form>. Dưới đây là một ví dụ đơn giản:

<form>

  <label for="name">Tên của bạn:</label>

  <input type="text" id="name" name="name"><br><br>

  <input type="submit" value="Gửi">

</form>

Các loại (type) <input /> trong HTML

Các thẻ input trong html đều giống nhau về cấu trúc và chỉ khác nhau về type. Chính type này sẽ quyết định kiểu của input. Có đến hơn 20 type khác nhau. Có một số type input chỉ được hỗ trợ trong HTML5 mà thôi. Các type dưới đây là type được tất cả các trình duyệt thông dụng hỗ trợ.

  • Nhập text
Code mẫu: <input name="hoten" type="text" />
  • Nhập password
Code mẫu: <input name="psw" type="password" />
  • File đính kèm
Code mẫu: <input type="file" name="anh">
  • Button reset

Code mẫu:

<form action="#">
Thành phố: <input type="text" name="thành phố"><br />
Nơi cư trú: <input type="text" name="nơi cư trú"><br />
<input type="reset" value="Reset">
</form>
  • Button submit

Code mẫu:

<form action="#">
Tên trường học: <input name="tentruonghoc" type="text" /><br />
Giáo viên chủ nhiệm: <input name="giaovienchunhiem" type="text" /><br />
<input type="send" value="Send" />
</form>
  • Ẩn input

Code mẫu:

<form action="#">
Họ tên đầy đủ: <input type="text" name="hotendaydu"><br>
<input type="hidden" name="quocgia" value="Hàn Quốc">
<input type="submit" value="Submit">
</form>
  • Radio button

Code mẫu:

<form action="#">
<input name="quequan" type="radio" value="Bình Định" />Bình Định<br />
<input name="quequan" type="radio" value="Gia Lai" />Gia Lai<br />
<input name="gioitinh" type="radio" value="Phú Yên" />Phú Yên<br />
</form>
  • Checkbox

Code mẫu:

<form action="#">
<input name="thethao" type="checkbox" value="Tennis" />Tennis<br />
<input name="thethao" type="checkbox" value="Quần vợt" />Quần vợt<br />
<input name="thethao" type="checkbox" value="Bóng rổ" />Bóng rổ<br />
<input name="thethao" type="checkbox" value="Bóng bàn" />Bóng bàn<br />
<input name="thethao" type="checkbox" value="Karate" />Karate
</form>

Tổng hợp những ví dụ cụ thể về thẻ input trong HTML

  • Input dạng text (maxlength)
<input type="text" name="" value="" size="25" maxlength="15" />

Để xác định chiều dài lớn nhất (trong ký tự) của một trường text hay password.

  • Input dạng password
<input type="password" name="" value="" size="25" />

Text hiển thị bên trong dưới dạng là password.

Input dạng password
Input dạng password
  • Input dạng hidden
<input type="hidden" name="" value="" size="25" />

Dạng này sẽ không được hiển thị ra trình duyệt. Và thường được sử dụng khi không muốn dữ liệu bị thay đổi.

Input dạng hidden
Input dạng hidden
  • Input dạng checkbox (checked)
<input type="checkbox" name="" value="" checked="checked" />
<input type="checkbox" name="" value="" />

Dạng này thường được sử dụng cho nhiều lựa chọn khác nhau.

Input dạng checkbox (checked)
Input dạng checkbox (checked)
  • Input dạng radio (checked)
<input type="checkbox" name="" value="" checked="checked" />
<input type="checkbox" name="" value="" />

Dạng này thường được sử dụng cho một chọn lựa mặc định.

Input dạng radio
Input dạng radio
  • Input dạng file upload:
<input type="file" name="" />

Dạng này được sử dụng để upload file.

Input dạng file upload
Input dạng file upload
  • Input dạng button image
<input type="image" src="images/btn_submit.jpeg" alt="SUBMIT" name="" />

Sử dụng như một nút nhấn nhưng bằng hình ảnh.

Input dạng button image
Input dạng button image
  • Input dạng button submit
<input type="submit" name="" value="Submit" />

Được dùng để gửi dữ liệu lên server, dữ liệu được gửi thông qua thuộc tính action trong <form>.

Input dạng button submit
Input dạng button submit

Input dạng button reset

<input type="reset" name="" value="Reset" />

Được dùng để reset lại giá trị trong <form>.

Input dạng button reset
Input dạng button reset
  • Input dạng button
<input type="button" name="" value="Click" />

Sử dụng như một nút nhấn.

Input dạng button
Input dạng button

Cách lấy dữ liệu từ <input> trong HTML

Trong lập trình web, việc lấy giá trị input từ người dùng là một yếu tố quan trọng để tạo ra các ứng dụng web tương tác và xử lý form hiệu quả. Dữ liệu này thường được nhập vào thông qua các thẻ input trong HTML.

Phần này, mình sẽ hướng dẫn bạn chi tiết hai phương pháp chính để truy xuất dữ liệu từ thẻ <input>, kèm theo ví dụ thực tế và giải thích rõ ràng.

1. Sử dụng Thuộc tính value:

Mỗi thẻ input trong HTML đều có một thuộc tính value, chứa giá trị hiện tại của input đó. Bạn có thể truy cập giá trị này thông qua DOM (Document Object Model) bằng JavaScript.

const hoTenInput = document.getElementById('hoTen');

const hoTen = hoTenInput.value;

console.log(hoTen); // In ra giá trị hiện tại của input

2. Sử dụng Sự kiện onchange:

Sự kiện onchange được kích hoạt mỗi khi giá trị của input thay đổi. Đây là cách hữu ích để theo dõixử lý dữ liệu người dùng nhập vào theo thời gian thực.

const emailInput = document.getElementById('email');

emailInput.onchange = function() {

  const email = emailInput.value;

  console.log(email); // In ra giá trị mới mỗi khi email thay đổi

};

Ví dụ thực tế: 

<label for="hoTen">Họ và tên:</label>

<input type="text" id="hoTen" name="hoTen">

<label for="email">Email:</label>

<input type="email" id="email" name="email">

Với kinh nghiệm của bản thân, mình khuyến khích bạn kết hợp cả hai phương pháp trên để có thể xử lý dữ liệu một cách linh hoạt và hiệu quả nhất. Việc nắm vững cách tương tác với DOM và các sự kiện trong JavaScript sẽ giúp bạn xây dựng những ứng dụng web chất lượng và thân thiện với người dùng.

Những điểm cần lưu ý đối với thẻ input

Có 3 điểm cần lưu ý đối với thẻ input trong HTML sau đây:

  • Đặt thẻ <input> trong phần tử <form>: Điều này giúp trình duyệt hiểu rằng các trường nhập liệu này thuộc về một biểu mẫu và dữ liệu sẽ được gửi đi khi người dùng nhấn nút submit.
  • Thẻ <input> là phần tử trống (void element): Điều này có nghĩa là nó không có nội dung bên trong và không cần thẻ đóng. Bạn chỉ cần khai báo các thuộc tính để xác định loại input (text, password, email,…) và các đặc điểm khác.
  • Sử dụng thẻ <label> để tạo nhãn: Nhãn không chỉ giúp người dùng hiểu rõ mục đích của từng trường nhập liệu mà còn hỗ trợ người dùng thiết bị hỗ trợ (như trình đọc màn hình) và cải thiện SEO cho website của bạn.
<form>
  <label for="name">Họ và tên:</label>
  <input type="text" id="name" name="name">


  <label for="email">Email:</label>
  <input type="email" id="email" name="email">
</form>

Các thuộc tính của thẻ input trong HTML5 và HTML

Bảng dưới đây giới thiệu chi tiết các thuộc tính của thẻ input trong HTML và HTML5:

Thuộc tínhGiá trịMô tả
acceptfile_extension
audio/*
video/*
image/*
media_type
Dùng để chỉ định kiểu của file mà server chấp nhận (chỉ khi type=”file”)
alignleft
right
top
middle
bottom
Thuộc tính align là một trong các thuộc tính không được hỗ trợ trong HTML5.Được dùng để chỉ định sự sắp hàng của image input (chỉ khi type=”image”)
alttextĐược dùng để chỉ định một văn bản thay thế cho hình ảnh (chỉ khi type=”image”)
autocompleteon
off
Được dùng để chỉ định một phần tử <input> có cần phải bật tính năng tự động hoàn tất
autofocusauto
focus
Được dùng để chỉ  định rằng một phần tử <input> được focus tự động khi trang tải trang web
checkedcheckedĐược dùng để chỉ định rằng một phần tử <input> có được chọn trước (pre-selected) khi tải trang web (đối với type=”checkbox” hoặc type=”radio”)
dirnameinputname.dirĐược dùng để chỉ định rằng hướng văn bản sẽ được gửi
disableddisabledĐược dùng để chỉ định rằng một phần tử <input> bị vô hiệu hóa
formform_idĐược dùng để chỉ định một hoặc nhiều form mà có phần tử <input> thuộc về nó
formactionURLĐược dùng để chỉ định URL của file sẽ xử lý các thông tin của form được gửi(đối với type=”submit” và type=”image”)
formenctypeapplication/x-www-form-urlencoded
multipart/form-datatext/plain
Được dùng để chỉ định cách dữ liệu của form phải được mã hoá khi gửi nó lên máy chủ (đối với type=”submit” và type=”image”)
formmethodget
post
Được dùng để chỉ định nghĩa phương thức HTTP cho việc gửi dữ liệu của form tới action URL (đối với type=”submit” và type=”image”)
formnovalidateformnovalidateĐược dùng để chỉ định nghĩa các phần tử của form không cần phải kiểm tra hợp lệ khi gửi
formtarget_blank
_self
_parent
_topframename
Được dùng để chỉ định nơi hiển thị những gì nhận được sau khi gửi form (đối với type=”submit” và type=”image”)
heightpixelsĐược dùng để chỉ định chiều cao của một phần tử <input> (chỉ đối với type=”image”)
listdatalist_idĐược dùng để tham chiếu đến một phần tử <datalist> chứa các tùy chọn được định nghĩa trước
maxnumber
date
Được dùng để chỉ định giá trị maximum cho một phần tử <input>
maxlengthnumberĐược dùng để chỉ định số ký tự lớn nhất được nhập vào phần tử <input>
minnumber
date
Được dùng để chỉ định một giá trị nhỏ nhất cho phần tử <input>
multiplemultipleĐược dùng để chỉ định rằng người dùng có thể nhập nhiều hơn một giá trị cho phần tử <input>
nametextĐược dùng để chỉ định tên của một phần tử <input>
patternregexpĐược dùng để chỉ định một biểu thức chính quy được sử dụng để kiểm tra giá trị của phần tử <input>
placeholdertextĐược dùng để chỉ định một gợi ý gắn mà mô tả giá trị mong đợi của một phần tử <input>
readonlyreadonlyĐược dùng để chỉ định rằng một trường input là read-only
requiredrequiredĐược dùng để chỉ định rằng một trường input phải được nhập trước khi gửi form
sizenumberĐược dùng để chỉ định chiều rộng theo ký tự của một phần tử <input>
srcURLĐược dùng để chỉ định URL để sử dụng như 1 nút gửi (chỉ đối với type=”image”)
stepnumberĐược dùng để chỉ định các khoảng cách số hợp lệ cho một trường nhập
typebutton
checkbox
color
date
datetimelocal
email
file
hidden
image
month
number
password
radio
range
reset
search
submit
tel
text
time
url
week
Được dùng để chỉ định kiểu của phần tử <input> để hiển thị
valuetextĐược dùng để chỉ định giá trị của một phần tử <input> 
widthpixelsĐược dùng để chỉ định chiều rộng của một phần tử <input> (chỉ đối với type=”image”)

Trình duyệt hỗ trợ thẻ input

Bảng dưới đây thể hiện các trình duyệt có hỗ trợ thẻ input.

ChromeFirefoxMicrosoft EdgeOperaSafariAndroid
Các trình duyệt hỗ trợ thẻ input
Các trình duyệt hỗ trợ thẻ input

Câu hỏi thường gặp

Có những thư viện hoặc framework JavaScript nào hỗ trợ tốt việc làm việc với thẻ input và form trong HTML?

Dựa trên kinh nghiệm lập trình web của mình, thì đây là các thư viện và framework JavaScript tốt nhất để làm việc hiệu quả với input và form trong HTML:

1. React: Được biết đến với khả năng xây dựng giao diện người dùng linh hoạt và component-based, React cung cấp các công cụ mạnh mẽ để quản lý trạng thái của form và input.
2. Angular: Với kiến trúc Model-View-Controller (MVC) rõ ràng, Angular cung cấp một hệ thống toàn diện để xây dựng các ứng dụng web phức tạp, bao gồm cả xử lý form và input.
3. Vue.js: Dễ dàng học và sử dụng, Vue.js cung cấp một cách tiếp cận linh hoạt để xây dựng giao diện người dùng và xử lý tương tác với form.
4. jQuery: Mặc dù không phải là một framework đầy đủ, jQuery vẫn là một lựa chọn phổ biến để xử lý DOM và các sự kiện trong JavaScript, bao gồm cả tương tác với form.

Các thuộc tính “required” và “pattern” dùng để làm gì trong thẻ input?

Khi bạn muốn một trường dữ liệu là bắt buộc, hãy thêm thuộc tính required. Nếu người dùng cố gắng gửi form mà không điền vào trường này, trình duyệt sẽ ngăn chặn hành động đó và hiển thị thông báo yêu cầu họ nhập dữ liệu.

Còn với pattern thuộc tính này cho phép bạn xác định một biểu thức chính quy (regex) mà giá trị nhập vào phải khớp. Regex là một công cụ mạnh mẽ để kiểm tra định dạng của dữ liệu (ví dụ: email, số điện thoại, ngày tháng,…).

Có những kỹ thuật CSS hoặc JavaScript nào giúp tạo ra các hiệu ứng đặc biệt cho thẻ <input>?

Với CSS:

– Tận dụng sức mạnh của thuộc tính CSS như :focus, :hover, :active để tạo ra các hiệu ứng chuyển đổi màu sắc, đường viền, bóng đổ, và nhiều hơn nữa.
– Thêm hoạt ảnh CSS (animation) và chuyển đổi (transition) để tạo sự mượt mà và sống động cho các hiệu ứng.

Với JavaScript:

– Sử dụng sự kiện JavaScript như focus, blur, input để xử lý sự kiện và thao tác DOM, thay đổi nội dung hoặc kiểu dáng của thẻ <input>.

Lời kết

Bài viết trên đã đem đến cho bạn những thông tin hữu ích về thẻ input trong HTML. Hy vọng qua bài viết này bạn sẽ hiểu rõ về thẻ input và sử dụng thẻ này một cách hiệu quả hơn.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG