Firefox nhớ số điện thoại làm tên người dùng


8

Tôi có một trang đăng ký bao gồm tất cả các trường tiêu chuẩn, ví dụ như số điện thoại, email, v.v.

Điện thoại và mật khẩu là tab liền kề tức là không liền kề về mặt vật lý nhưng nếu bạn đang đánh dấu thì nó sẽ có tên -> họ -> email -> điện thoại -> mật khẩu.

Vì một số lý do, việc cung cấp cho người dùng lời nhắc nhớ tên người dùng và mật khẩu của họ khi họ đăng ký (điều này thật tuyệt) nhưng đó là lưu số điện thoại làm tên người dùng.

Có quy tắc nào giúp nó quyết định / ngăn không cho người khác nhớ kết hợp số điện thoại / mật khẩu hữu ích như vậy không?

Cảm ơn trước

BIÊN TẬP:

  • Tên trên các thành phần của biểu mẫu là "Điện thoại" và "txtpassword".

  • Tôi muốn nó nhớ email và mật khẩu. Là điều này có thể đạt được trong tình hình hiện tại?

  • Thật không may, tôi không thể sắp xếp lại các trường mẫu. Thứ tự được đưa ra trong các tab ở trên.


Haha điều này cũng xảy ra với tôi
Mark Henderson

Câu trả lời:


4

Sử dụng autocomplete = "off" để tắt autocomplete và Firefox (và các trình duyệt khác hỗ trợ thuộc tính không chuẩn này) sẽ không lưu các giá trị đó.

<input type=text" name="dontsave" autocomplete="off">

Biên tập:

Những gì bạn đang thấy có thể là do tên trường bạn đang sử dụng. Tự động hoàn tất tìm kiếm tên người dùng / tên trường đăng nhập phổ biến để hoạt động và trường số điện thoại của bạn có thể khiến Firefox tin rằng đó là trường ID đăng nhập chính.

Chỉnh sửa 2:

Là trường email trước hoặc sau trường Điện thoại? Nếu là sau, có thể đặt nó trước trường Điện thoại không? Nếu vậy, điều đó có làm nên sự khác biệt?


Tôi không nghĩ OP muốn hành vi đó. Ngoài ra, bạn không thể sử dụng autocompleteở cấp trường, nó phải ở cấp biểu mẫu, tức là<form autocomplete="false"...
DisgruntledGoat

Bạn có thể sử dụng nó ở cấp trường. Kiểm tra mẫu đăng nhập của wachovia.com là một ví dụ hoàn hảo.
John Conde

@disgrunt - chúng tôi sử dụng nó trên các phần tử trường mọi lúc - cụ thể là số CC / trường hết hạn.
Mark Henderson

2

Nói chung là không thể nếu không sắp xếp lại các lĩnh vực của bạn hoặc không có hack. Trường của bạn usernamephải ở ngay trước passwordtrường của bạn trong Firefox.

Tôi đã có cùng một vấn đề nhưng họ thay vì điện thoại . Sau nhiều giờ cố gắng , câu trả lời này đã làm cho nó rõ ràng. Firefox (ít nhất là trong phiên bản hiện tại) tìm trường mật khẩu. Sau đó, nó lấy trường trước nó làm trường tên người dùng và hỏi người dùng nếu anh ta muốn lưu các thông tin đăng nhập này.

Tự động hoàn thành không phải là vấn đề (chính) ở đây. Ngay cả khi tự động hoàn tất tắt cho toàn bộ biểu mẫu, Firefox vẫn sẽ hỏi bạn có muốn lưu thông tin đăng nhập của mình không.


2

Bạn có thể làm một cái gì đó như thế này:

<input type="text" name="username" autocomplete="username">
<input type="default" name="email" autocomplete="email">
<input type="password" name="password" autocomplete="new-password">

Firefox trong phiên bản hiện tại tìm trường mật khẩu đầu tiên. Từ đó, nó tìm trường trước của loại texthoặc emailđể tìm trường tên người dùng.

Vì vậy, chúng ta có thể lừa nó bằng cách sử dụng loại trường không hợp lệ ( defaultKHÔNG phải là loại trường hợp lệ). Vì vậy, bây giờ bạn không cần phải sắp xếp lại các trường để đáp ứng Firefox. Khi trình duyệt không biết loại trường, nó chỉ hiển thị trường văn bản bình thường.

Safari sử dụng một cơ chế khác và tôi không gặp vấn đề gì với nó. Tôi nghĩ rằng nó nhìn vào tên của các lĩnh vực.

Các thuộc tính tự động hoàn thành cung cấp cho trình duyệt thêm dấu hiệu về việc mỗi trường được sử dụng để làm gì.


1

Tôi đã nhận thấy hành vi tương tự trong Google Chrome trước đây. Các tên được đặt cho các trường đầu vào là gì? Tôi biết rằng các trình duyệt thường có vấn đề với các trường nếu họ sử dụng mã muốn name="signup[email]"chuyển mọi thứ trong một biến sang phía máy chủ (rất hữu ích trong PHP).

Bạn có thể thử sử dụng định dạng đơn giản này: <input name="username" type="text">với emailpasswordlàm tên cho hai trường đó. (Lưu ý: Tôi chưa thực sự kiểm tra điều này, khi tôi gặp tình huống này trước khi tôi không thể thay đổi tên trường.)

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.