2010-07-20 31 views
167

Có hợp lệ để có <input> mà không có trong số <form> không?Có phải <input> được thiết lập tốt mà không cần <form>?

Có quy trình đánh dấu một số trường trong trang và chỉ tìm thấy trang có các trường nhập mà không được đánh dấu như tôi mong đợi.
Tôi mất một thời gian nhưng đã làm việc ra rằng quá trình nhận các yếu tố hình thức sau đó nhận được các lĩnh vực là những gì gây ra những điều này được bỏ qua vì không có hình thức.

+0

@Adriano - suy nghĩ của tôi chính xác. chỉ cần chạy qua và xem! –

+1

Chắc chắn [trình xác nhận hợp lệ w3c] (http://validator.w3.org/), tôi thực sự cần phải thêm rằng lời giải thích đằng sau lý do tại sao sẽ tốt đẹp. –

+0

Tôi cũng có nghĩa là nó có thể hợp lệ đối với một số phiên bản html, nhưng không phải cho những người khác, và trong trường hợp đó, trình duyệt tính hợp lệ nhanh hơn nhiều so với việc sử dụng các tiêu chuẩn. –

Trả lời

161

<input> mà không có một <form>appears valid, vâng (ít nhất là cho html 4,01, nhìn gần cuối 17.2.1):

Các yếu tố dùng để tạo ra các điều khiển thường xuất hiện bên trong một yếu tố MẪU , nhưng cũng có thể xuất hiện bên ngoài khai báo phần tử FORM khi chúng được sử dụng để xây dựng giao diện người dùng . Điều này được thảo luận trong phần về các sự kiện nội tại. Lưu ý rằng các điều khiển bên ngoài biểu mẫu không được là kiểm soát thành công.

+0

Tôi vừa tạo một thẻ '' bên ngoài biểu mẫu trong Visual Studio 2010 và không có vấn đề gì với nó. Vì vậy, tôi đồng ý nó là kỳ quặc, thậm chí vô nghĩa, nhưng không phải là bất hợp pháp. –

+0

Ta, gặp khó khăn khi tìm kiếm thông tin đó –

+1

thì điểm sử dụng biểu mẫu và tên nhập liệu nữa là gì? tất cả chúng ta có thể sử dụng đầu vào với id, không phải là dễ dàng hơn cho tất cả mọi người? –

1

Có, bạn có thể có đầu vào hợp lệ không có biểu mẫu.

+12

Vâng, bạn có thể thêm một số bằng chứng đằng sau 'Vâng'. Hoặc làm rõ các phiên bản HTML nào là đúng cho. Tuy nhiên, tôi sẽ không hạ thấp bạn. –

+8

Vì vậy, với lý do của bạn tại sao thậm chí có SO ở tất cả nếu người dùng chỉ có thể đi đến W3 và tìm nó lên chính mình? Tôi sẽ không có downvoted bạn, nhưng tôi phải đồng ý rằng một trong những lời giải thích một cách rõ ràng và súc tích được upvote, bởi vì một lời giải thích cũng như câu trả lời đúng là những gì là hữu ích nhất ở đây tại SO. – Mattygabe

54

Tôi đã kiểm tra các mục sau đây với W3C validator và xác nhận điều này là hợp lệ.

<!DOCTYPE html> 
<html> 
<head> 
    <title>test</title> 
</head> 
<body> 
    <input type='text' /> 
</body> 
</html> 
-5

Chắc chắn, sử dụng

document.getElementById('your_input_id').validity.valid 

để kiểm tra tính hợp lệ của lĩnh vực tự động.

+23

Điều đó không liên quan gì đến hiệu lực đánh dấu, thay vào đó là cho [API xác nhận ràng buộc ràng buộc] (https://www.w3.org/TR/html5/forms.html#the-constraint-validation-api). Làm thế nào câu trả lời này có 8 upvotes là vượt ra ngoài tôi. – Stijn

Các vấn đề liên quan