2012-10-08 16 views
5

Có đảm bảo rằng một trình duyệt không gửi phần tử đầu vào nếu nó không có thuộc tính tên được chỉ định?Mọi trình duyệt có bỏ qua các trường nhập không tên không?

Ví dụ: chúng ta có thể giả định rằng POSTING biểu mẫu bên dưới sẽ không gửi số thẻ tín dụng?

<form action="/process" method="post"> 
    <input id="credit-card-number" type="text"> 
    <input type="submit" name="commit" value="Go"> 
</form> 
+1

Không thể nói liệu "tất cả các trình duyệt" có xử lý thông số chính xác hay không. Nhưng tất cả các trình duyệt quan trọng đều làm. – jessegavin

+0

Điều gì khiến bạn hỏi điều này? Nhắc nhở số thẻ tín dụng * có vẻ * nguy hiểm, vậy tại sao bạn lại làm điều đó nếu bạn không muốn gửi? –

+1

@ JukkaK.Korpela Bằng cách không gửi thông tin thẻ tín dụng đến máy chủ của bạn, các tiêu chuẩn tuân thủ PCI bị giảm đáng kể. Trong trường hợp này, chúng tôi xác thực thông tin đơn hàng khác trên AJAX. Sau khi xác nhận, chúng tôi tạo ra một hình thức thẻ tín dụng ẩn trên bay mà chúng tôi gửi đến các nhà cung cấp gateway, do đó né tránh trách nhiệm rất lớn. – randomguy

Trả lời

10

Có đảm bảo rằng trình duyệt không gửi một yếu tố đầu vào nếu nó không có thuộc tính tên được chỉ định?

Có (trừ khi bạn muck với JavaScript để thay đổi điều đó).

Đặc điểm kỹ thuật khá rõ ràng là controls without names cannot be successful.

Điều khiển thành công phải được xác định trong phần tử FORM và phải có tên kiểm soát.

0

Tiêu chuẩn nói rằng để gửi đầu vào, điều khiển thành công, nếu điều khiển không có tên, đó không phải là điều khiển thành công, vì vậy nó sẽ được gửi. Xem http://www.w3.org/TR/html401/interact/forms.html

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