для автоматичного завершення можна використовувати:
<form autocomplete="off">
щодо проблеми забарвлення:
з вашого екрана я можу побачити, що webkit генерує такий стиль:
input:-webkit-autofill {
background-color: #FAFFBD !important;
}
1) оскільки # id-стилі навіть важливіші, ніж стилі .class, можуть працювати наступні :
#inputId:-webkit-autofill {
background-color: white !important;
}
2) якщо це не спрацює, ви можете спробувати встановити стиль через javascript програмно
$("input[type='text']").bind('focus', function() {
$(this).css('background-color', 'white');
});
3) якщо це не спрацює, ви приречені :-) врахуйте це: це приховує жовтий колір, але зробить текст читабельним знову.
input:-webkit-autofill {
color: #2a2a2a !important;
}
4) рішення css / javascript:
css:
input:focus {
background-position: 0 0;
}
і наступний Javascript повинен бути запущений при завантаженні:
function loadPage()
{
if (document.login)//if the form login exists, focus:
{
document.login.name.focus();//the username input
document.login.pass.focus();//the password input
document.login.login.focus();//the login button (submitbutton)
}
}
наприклад:
<body onload="loadPage();">
Щасти :-)
5) Якщо жодна з перерахованих вище робіт не намагається видалити вхідні елементи, клонувавши їх, а потім розмістити клоновані елементи назад на сторінці (працює на Safari 6.0.3):
<script>
function loadPage(){
var e = document.getElementById('id_email');
var ep = e.parentNode;
ep.removeChild(e);
var e2 = e.cloneNode();
ep.appendChild(e2);
var p = document.getElementById('id_password');
var pp = p.parentNode;
pp.removeChild(p);
var p2 = p.cloneNode();
pp.appendChild(p2);
}
document.body.onload = loadPage;
</script>
6) Звідси :
if (navigator.userAgent.toLowerCase().indexOf("chrome") >= 0) {
$(window).load(function(){
$('input:-webkit-autofill').each(function(){
var text = $(this).val();
var name = $(this).attr('name');
$(this).after(this.outerHTML).remove();
$('input[name=' + name + ']').val(text);
});
});
}