Web Form 2.0 là sự mở rộng của các tính năng Form thành lập trong HTML4. Các phần tử và thuộc tính Form trong HTML5 cung cấp một mức độ đánh dấu semantic tốt hơn trong HTML4 và gỡ bỏ phần lớn sự cần thiết của công việc script và tạo kiểu tẻ nhạt được yêu cầu trong HTML4.
Phần tử
Các phần tử HTML4 input sử dụng thuộc tính typeđể xác định kiểu dữ liệu. HTML4 cung cấp các kiểu sau:
Sau đây là ví dụ đơn giản của việc sử dụng các label, các nút radio, và các nút submit:Phần tử
Ngoài các thuộc tính được đề cập trên, phần tử input trong HTML5 giới thiệu một số giá trị mới cho thuộc tính type. Bảng dưới liệt kê các giá trị này: Ghi chú: Bạn thử tất cả các ví dụ sau sử dụng phiên bản trình duyệt Operamới nhất.
Phần tử
HTML5 giới thiệu một phần tử mới là
Phần tử <input>
trong HTML4
Các phần tử HTML4 input sử dụng thuộc tính typeđể xác định kiểu dữ liệu. HTML4 cung cấp các kiểu sau:Kiểu | Miêu tả |
---|---|
text | Một trường văn bản không ràng buộc kiểu form, trên danh nghĩa không ràng buộc các dòng ngắt. |
password | Một trường văn bản không ràng buộc kiểu form với thông tin nhạy cảm, trên danh nghĩa không ràng buộc các dòng ngắt. |
checkbox | Tập hợp của 0 và nhiều giá trị hơn từ một danh sách đã xác định trước. |
radio | Một giá trị liệt kê |
submit | Một kiểu form không ràng buộc của nút khởi tạo sự đệ trình form. |
file | Một file tùy ý với một kiểu MIME và một tên file tùy ý. |
image | Một tọa độ, liên quan tới một kích cỡ ảnh riêng, với semantic thêm mà nó phải là giá trị cuối được chọn và khởi tạo sự đệ trình form |
hidden | Một chuỗi tùy ý mà thông thường không được hiển thị tới người dùng |
select | Một giá trị liệt kê, khá giống với kiểu radio. |
textarea | Một trường văn bản không ràng buộc kiểu form, trên danh nghĩa không giới hạn các dòng ngắt. |
button | Một form tùy ý của nút mà có thể khởi tạo bất kỳ sự kiện liên quan tới nút |
...
<form action="http://example.com/cgiscript.pl" method="post">
<p>
<label for="firstname">first name: </label>
<input type="text" id="firstname"><br />
<label for="lastname">last name: </label>
<input type="text" id="lastname"><br />
<label for="email">email: </label>
<input type="text" id="email"><br>
<input type="radio" name="sex" value="male"> Male<br>
<input type="radio" name="sex" value="female"> Female<br>
<input type="submit" value="send"> <input type="reset">
</p>
</form>
...
Phần tử <input>
trong HTML5
Ngoài các thuộc tính được đề cập trên, phần tử input trong HTML5 giới thiệu một số giá trị mới cho thuộc tính type. Bảng dưới liệt kê các giá trị này: Ghi chú: Bạn thử tất cả các ví dụ sau sử dụng phiên bản trình duyệt Operamới nhất.Kiểu | Miêu tả |
---|---|
datetime | Ngày và thời gian (năm, tháng, ngày, giờ, phút, giây, các phần của giây) được mã hóa theo ISO 8601 với Timezone thiết lập là UTC. |
datetime-local | Ngày và thời gian (năm, tháng, ngày, giờ, phút, giây, các phần của giây) được mã hóa theo ISO 8601 mà không có thông tin về Timezone. |
date | Ngày và thời gian (năm, tháng, ngày) được mã hóa theo ISO 8601 |
month | Một ngày trong một năm và tháng được mã hóa theo ISO 8601 |
week | Một ngày trong một năm và số tuần được mã hóa theo ISO 8601 |
time | Thời gian (giờ, phút, giây, các phần giây) được mã hóa theo ISO 8601 |
number | Chỉ chấp nhận các giá trị số. Thuộc tính step xác định độ chính xác, mặc định là 1 |
range | Kiểu range được sử dụng cho các trường input mà nên chứa một giá trị từ một dãy số. |
Chỉ chấp nhận giá trị là thư điện tử. Kiểu này được sử dụng cho các trường đầu vào mà nên chứa địa chỉ Email. Nếu bạn cố gắng để đệ trình một văn bản đơn, nó buộc bạn chỉ nhập giá trị thư điện tử trong định dạng email@example.com | |
url | Chỉ chấp nhận giá trị URL. Kiểu này được sử dụng cho các trường đầu vào mà nên chứa một địa chỉ URL. Nếu bạn cố gắng để đệ trình một văn bản đơn, nó buộc bạn chỉ nhập địa chỉ URL trong định dạng hoặc http://www.example.com hoặc http://example.com |
Phần tử <output>
HTML5 giới thiệu một phần tử mới là <output>
mà được sử dụng để biểu diễn kết quả của các kiểu đầu ra khác nhau, như đầu ra được viết bởi một script. Bạn có thể sử dụng thuộc tính forđể xác định mối quan hệ giữa phần tử output và các phần tử khác trong tài liệu mà ảnh hưởng tới phép tính (ví dụ như các đầu vào input hoặc các tham số). Giá trị của thuộc tính for là một danh sách các ID của các phần tử khác được phân biệt riêng rẽ.<html>
<script type="text/javascript">
function showResult()
{
x = document.forms["myform"]["newinput"].value;
document.forms["myform"]["result"].value=x;
}
</script>
<body>
<form action="/cgi-bin/html5.cgi" method="get" name="myform">
Enter a value : <input type="text" name="newinput" />
<input type="button" value="Result" onclick="showResult();" />
<output name="result"/>
</form>
</body>
</html>
Nó sẽ cho kết quả sau:Enter a value :
Thuộc tính placeholder
HTML5 giới thiệu một thuộc tính mới được gọi là placeholder. Thuộc tính này trên phần tử<input>
và <textarea>
cung cấp một chỉ dẫn tới người sử dụng về những gì có thể được nhập vào trong trường đó. Phần văn bản placeholder phải không chứa carriage returns hoặc line-feeds. Sau đây là cú pháp đơn giản cho thuộc tính placeholder:<input type="text" name="search" placeholder="search the web"/>
Thuộc tính này được hỗ trợ chỉ bởi phiên bản Mozilla, Safari và Chrome mới nhất.<html>
<body>
<form action="/cgi-bin/html5.cgi" method="get">
Enter email : <input type="email" name="newinput" placeholder="email@example.com"/>
<input type="submit" value="submit" />
</form>
</body>
</html>
Nó sẽ cho kết quả sau:Enter email :
Thuộc tính autofocus
Đây là một mẫu một bước (one-step) đơn giản, dễ dàng được chương trình hóa trong JavaScript tại thời điểm tải tài liệu, tự động nhận trọng tâm một trường form cụ thể. HTML5 giới thiệu một thuộc tính mới gọi là autofocusmà sẽ được sử dụng như sau:<input type="text" name="search" autofocus/>
Thuộc tính này được hỗ trợ chỉ bởi phiên bản Mozilla, Safari và Chrome mới nhất.<html>
<body>
<form action="/cgi-bin/html5.cgi" method="get">
Enter email : <input type="text" name="newinput" autofocus/>
<p>Try to submit using Submit button</p>
<input type="submit" value="submit" />
</form>
</body>
</html>
Nó sẽ cho kết quả sau:Enter email : Try to submit using Submit button
Thuộc tính required
Bây giờ bạn không cần có JavaScript cho các xác nhận Client-Side như hộp văn bản trống sẽ không bao giờ được đệ trình bởi vì HTML5 giới thiệu một thuộc tính mới gọi là requiredmà sẽ được sử dụng như sau và sẽ nhấn mạnh để có một giá trị:<input type="text" name="search" required/>
Thuộc tính này được hỗ trợ chỉ bởi phiên bản Mozilla, Safari và Chrome mới nhất.<html>
<body>
<form action="/cgi-bin/html5.cgi" method="get">
Enter email : <input type="text" name="newinput" required/>
<p>Try to submit using Submit button</p>
<input type="submit" value="submit" />
</form>
</body>
</html>
Nó sẽ cho kết quả sau:Enter email : Try to submit using Submit button