Я столкнулся с проблемой в Chrome, когда автозаполнение запоминает историю большинства полей ввода, но не сохраняет историю в одном конкретном поле. Firefox смог успешно сохранить историю этого поля, а Chrome по-прежнему работает с 99% других полей. Даже поля в других местах той же формы сохранят свою историю. Мне сложно понять, что может вызывать эту щепетильную проблему.
Есть ли какие-то обходные пути для этого? Кто-нибудь вообще сталкивался с такой проблемой?
EDIT: Я ошибся, Chrome, похоже, не хочет запоминать НИКАКИЕ поля на этом конкретном сайте. Firefox без проблем запоминает любые текстовые поля в точно такой же форме. Это в SugarCRM (веб-система CRM), поэтому я не могу разместить ссылку. Вот код для исходного поля ввода, о котором идет речь:
<input type='text' name='ranumber_c'
id='ranumber_c' size='30'
maxlength='255'
value='300149' title='' tabindex='243' >
Есть ли еще какие-либо места в коде, которые потенциально могут отключить (или нарушить) сохранение истории форм?
ПРАВКА 2: @iglvzx - Интересно, что DOCTYPE показывает XHTML Strict, несмотря на то, что почти все теги форм сгенерированы неправильно.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Действительно ли это помешает Chrome распознавать поле ввода?
решение1
Насколько я понимаю, Firefox сохраняет информацию для любого поля ввода формы, имеющего атрибут «имя», с которым может быть связана эта информация, а Chrome/Safari/Opera сохраняет только определенную ценную информацию, такую как адреса и платежную информацию.
решение2
Попробуйте сравнить HTML проблемного поля с другими в той же форме. В чем сходство? В чем различия?
Не зная подробностей, более общий подход заключается в том, чтобы принудительно категоризировать поле с помощью движка автозаполнения Chrome. Некоторые поля не маркированы правильно, поэтому у автозаполнения могут возникнуть с ними проблемы. В качестве возможного решения вы можете разрешить Chrome добавлять уникальную идентификационную подпись к каждому полю формы на странице.
Чтобы включить эту экспериментальную функцию, перейдите по следующему URL-адресу в новой вкладке, а затем установите флаг наВключено:
chrome://flags/#enable-show-autofill-signatures
Вы также можете добиться успеха с похожими флагами — посетите chrome://flags
и найдитеАвтозаполнениепопробовать другие.
решение3
XHTML требует закрывать отдельные теги следующим образом:
<tag />
А также,одинарные кавычки использовать нельзя. поэтому вам нужно поставить:
<input type="text" name="ranumber_c"
id="ranumber_c" size="30"
maxlength="255"
value="300149" title="" tabindex="243" />