2010-02-18 28 views
26

Thực tiễn có chấp nhận được là có nhiều biểu mẫu HTML trên một trang có các trường nhập có cùng thuộc tính tên không? Ví dụ, trang web có chứa một danh sách của tất cả các cầu thủ và người dùng được phép bỏ phiếu cho các cầu thủ tốt nhất để bên cạnh mỗi thẻ máy nghe nhạc có hình thức này:Nhiều biểu mẫu có trường nhập liệu có cùng tên thuộc tính? Tốt hay xấu?

<form class="vote-for-player" enctype="application/x-www-form-urlencoded" method="post" action="/index/vote-for-best-player"> 
    <input type="hidden" name="player_id" value="1" /> 
    <input type="submit" name="vote_for_player" value="Vote" class="input-submit" /> 
</form> 

Giá trị thuộc tính của trường nhập ẩn là khác nhau cho mỗi hình thức, tất nhiên.

Giả sử có 20 dạng như thế này trên trang để có nghĩa là 20 trường nhập có tên bằng "player_id". Nếu tôi chuyển trang đó thông qua trình xác thực HTML, nó hợp lệ ngay cả với loại tài liệu XHTML 1.0 Nghiêm ngặt. Nhưng đây có phải là một thực hành có thể chấp nhận được từ các tiêu chuẩn web hoặc phối cảnh trợ năng không?

Một điều tôi biết chắc chắn, nó làm cho việc xử lý phía máy chủ của trang dễ dàng hơn vì tôi chỉ cần tải giá trị từ một trường POST được gọi là player_id.

Trả lời

14

Đồng ý với câu trả lời ở trên. Tên là hoàn toàn ok và sẽ được chuyển thành thông số phản hồi của biểu mẫu của bạn. Câu chuyện khác nhau sẽ là nếu các yếu tố đầu vào của bạn cũng sẽ có cùng một id - một số trình duyệt có thể gặp sự cố khi duyệt qua phần trên của tài liệu của bạn.

Một lần nữa, hãy nghĩ về loạt các nút radio, nơi người dùng có thể chọn giới tính vv Họ phải có cùng tên (nhưng khác nhau của id) ...

+0

Về ID trùng lặp: http://www.w3.org/TR/WCAG20-TECHS/F77. html và http://www.w3.org/TR/WCAG20-TECHS/H93 .html – danielnixon

4

Có nó hợp lệ, tôi làm tất cả các thời gian.

2

vâng đó là hoàn toàn tốt đẹp .. trên thực tế cá nhân tôi cảm thấy rằng nó thực sự là một thực hành tốt để làm như vậy vì nó biến tương đối khá tiện dụng cho các nhà phát triển để làm việc với tên tương đối ít hơn so với bó của họ .. hơn nữa khi các yếu tố trên các hình thức khác nhau nó liều không gây va chạm tên không gian trong bất kỳ cách nào kể từ khi xác định yếu tố trong js theo tên chúng tôi sử dụng cả tên biểu mẫu cũng như tên trường đầu vào để nó không gây ra bất kỳ vấn đề nào ...

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