Có hợp lệ để có nhiều yếu tố đầu vào mẫu có cùng tên không?


10

Đây có phải là đánh dấu hợp lệ và nó có hợp lệ với thông số HTML / HTTP không? Nếu tôi muốn có

<form>
<input name="email" />
<input name="email" />
<input name="email" />
</form>

có hợp lệ không


Theo định nghĩa, các nút radio trong cùng một nhóm có cùng tên.
MrWhite

Câu trả lời:


8

Như đã nêu trên SO :

Các trình duyệt đều ổn với nó. Tuy nhiên, làm thế nào thư viện ứng dụng phân tích cú pháp nó có thể khác nhau.

Các chương trình được cho là nhóm các mục có tên giống hệt nhau. Mặc dù đặc tả HTML không nói rõ điều này, nhưng nó được nêu rõ trong tài liệu về các hộp kiểm:

"Một số hộp kiểm trong một biểu mẫu có thể chia sẻ cùng tên điều khiển. Do đó, ví dụ, các hộp kiểm cho phép người dùng chọn một số giá trị cho cùng một thuộc tính."

Bên cạnh đó, trong PHP, bạn có thể có các trường biểu mẫu có cùng tên nếu bạn sử dụng cú pháp arry của PHP cho tên trường:

<form>
<input name="email[]" />
<input name="email[]" />
<input name="email[]" />
</form>

Điều này sẽ khiến trình duyệt gửi qua các trường biểu mẫu theo cú pháp mà PHP sẽ sử dụng để điền vào một mảng cho các trường này : $_REQUEST['email']. Nếu bạn sử dụng PHP thì đây là cách ưa thích để xử lý nó.


5

HTML5

Phần không quy tắc 4.10.1.3 Định cấu hình biểu mẫu để giao tiếp với máy chủ nói rõ rằng nó hợp lệ:

Nhiều điều khiển có thể có cùng tên; ví dụ, ở đây chúng tôi cung cấp cho tất cả các hộp kiểm cùng tên và máy chủ phân biệt hộp kiểm nào đã được kiểm tra bằng cách xem giá trị nào được gửi với tên đó - giống như các nút radio, chúng cũng được cung cấp các giá trị duy nhất với thuộc tính giá trị.

Phiên bản quy phạm của điều này chỉ đơn giản là nó không bị cấm ở bất cứ đâu và thuật toán gửi biểu mẫu cho biết chính xác yêu cầu nào sẽ được tạo:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.