여기에있는 옵션 (자동 완성, data-lpignore 등) 중 어떤 것도 LastPass가 내 양식 필드를 자동으로 채우는 것을 막지 못했습니다. 나는 문제에 대해 좀 더 sledge-hammer 접근 방식을 취하고 name
대신 JavaScript를 통해 입력 속성을 비동기 적으로 설정했습니다 . 다음 jQuery 종속 함수 (양식의 onsubmit 이벤트 핸들러에서 호출 됨)가 트릭을 수행했습니다.
function setInputNames() {
$('#myForm input').each(function(idx, el) {
el = $(el);
if (el.attr('tmp-name')) {
el.attr('name', el.attr('tmp-name'));
}
});
}
$('#myForm').submit(setInputNames);
양식에서는 단순히 tmp-name
동등한 name
속성 대신 속성을 사용 했습니다 . 예:
<form id="myForm" method="post" action="/someUrl">
<input name="username" type="text">
<input tmp-name="password" type="password">
</form>
업데이트 2019-03-20
나는 양식 필드에 따라 AngularJS 때문에 위의 문제에 여전히 어려움을 겪었습니다. name
ngMessages가 필드 유효성 검사 오류 메시지를 올바르게 표시하기 위해 속성이있는 발생했습니다.
궁극적으로 LastPass가 내 비밀번호 변경 양식의 비밀번호 필드를 채우는 것을 방지 할 수있는 유일한 해결책은 다음과 같습니다.
input[type=password]
완전히 사용하지 말고
- 필드 이름에 '비밀번호'가 없어야합니다.
제 경우에는 일반적으로 양식을 제출할 수 있어야하므로 원래 솔루션을 사용하여 '적시에'필드 이름을 업데이트했습니다. 암호 입력 필드를 사용하지 않기 위해이 솔루션이 매우 잘 작동한다는 것을 알았습니다 .
type="hidden"
CSS와 숨기기 그 대신