2012-02-13 29 views
11

thể trùng lặp:
Is there a W3C valid way to disable autocomplete in a HTML form?Làm cách nào để ngăn trình duyệt nhớ nội dung của trường văn bản?

Có cách nào tôi có thể ngăn chặn một trình duyệt từ không nhớ nội dung của một trường văn bản? Vấn đề là trường có chứa một giá trị như 100, và sau đó được nối thêm một ký hiệu tiền tệ như € làm cho nó 100 €. Nếu tôi nhấp vào trường, tiện ích của tôi sẽ loại bỏ đơn vị tiền tệ và tôi có thể chỉnh sửa số trống và khi tôi làm mờ nó sẽ hiển thị lại tiền tệ. Tất cả mọi thứ hoạt động tốt cho đến khi bạn nhấn F5 và sau đó bạn kết thúc có 100 € € vì trình duyệt đã khôi phục giá trị ban đầu 100 € khi trình tải lại xảy ra và tiện ích bổ sung lại.

+1

Bạn có nghĩa là một cái gì đó như 'AUTOCOMPLETE = OFF' trong đầu vào của bạn? –

+0

Trình duyệt không được lưu bất kỳ thứ gì trong bất kỳ trường nhập nào vào lần làm mới ngay từ đầu ... Nhưng nếu bạn cần, hãy thêm một số jquery vào mã của bạn. '$ ('# đầu vào)'. Val ('');' sẽ xóa giá trị trong trường. –

+1

@stumpx Nhiều trình duyệt hiện đại trên thực tế, đặc biệt là Firefox ... – Christoph

Trả lời

17

Đối với các trình duyệt hỗ trợ, có autocomplete attribute mới. Từ liên kết:

Thuộc tính autocomplete là thuộc tính được liệt kê. Thuộc tính có ba trạng thái. Bản đồ từ khóa on về trạng thái trên trạng thái và từ khóa off ánh xạ tới trạng thái ngoài trạng thái. Thuộc tính cũng có thể được bỏ qua. Giá trị thiếu mặc định là trạng thái mặc định.

Trạng thái tắt cho biết dữ liệu đầu vào của kiểm soát đặc biệt nhạy cảm (ví dụ: mã kích hoạt cho vũ khí hạt nhân); hoặc đó là một giá trị sẽ không bao giờ được tái sử dụng (ví dụ như khóa một lần cho đăng nhập ngân hàng) và do đó người dùng sẽ phải nhập dữ liệu một cách rõ ràng, thay vì có thể dựa vào UA để điền trước giá trị cho anh ta; hoặc tài liệu cung cấp cơ chế tự động hoàn thành của riêng nó và không muốn tác nhân người dùng cung cấp các giá trị tự động hoàn thành.

... mặc dù trong trường hợp cụ thể bạn mô tả, tôi nghĩ tôi có thể chỉ giữ biểu tượng € bên ngoài giá trị của trường ngay từ đầu. Bạn có thể đặt nó bên cạnh trường hoặc chồng lên trường bằng cách sử dụng CSS (ví dụ: đặt nó sau trường trong đánh dấu và sau đó sử dụng position: relative; left: -3em, loại điều đó). Nhưng nếu bạn thực sự muốn ngăn chặn việc tự động điền của trình duyệt, autocomplete là một công cụ cho toolchest.

+2

@rFactor: Vâng. Và tôi thực sự hy vọng họ sử dụng 'POST' cho hình dạng đó. Nếu không, đó là một heck của một nút phía sau có hiệu lực ... ;-) –

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