자바스크립트를 통해 제출할 때 IE7 양식에 비밀번호 기억을 묻는 메시지가 표시되지 않습니다.
-
03-07-2019 - |
문제
로그인 양식을 제출하기 위해 Javascript를 사용하는 웹사이트가 있습니다.Firefox에서는 로그인할 때 사용자에게 비밀번호를 기억하라는 메시지가 표시되지만 IE7에서는 그렇지 않습니다.
몇 가지 조사를 해본 결과 제출 컨트롤을 통해 양식이 제출될 때만 IE7에서 사용자에게 메시지가 표시되는 것처럼 보입니다.이것이 사실임을 증명하기 위해 몇 가지 샘플 HTML을 만들었습니다.
<html>
<head>
<title>test autocomplete</title>
<script type="text/javascript">
function submitForm()
{
return document.forms[0].submit();
}
</script>
</head>
<body>
<form method="GET" action="test_autocomplete.html">
<input type="text" id="username" name="username">
<br>
<input type="password" id="password" name="password"/>
<br>
<a href="javascript:submitForm();">Submit</a>
<br>
<input type="submit"/>
</form>
</body>
</html>
href 링크에는 프롬프트가 표시되지 않지만 IE7에서는 제출 버튼이 표시됩니다.둘 다 Firefox에서 작동합니다.
제출 버튼을 사용하여 내 사이트 스타일을 동일하게 표시할 수 없습니다. Javascript를 통해 제출할 때 비밀번호 기억 프롬프트가 표시되도록 하는 방법을 아는 사람이 있습니까?
해결책
왜부 양식을 제출하는 이 방법이 있을까?
<html>
<head>
<title>test autocomplete</title>
<script type="text/javascript">
function submitForm()
{
return true;
}
</script>
</head>
<body>
<form method="GET" action="test_autocomplete.html" onsubmit="return submitForm();">
<input type="text" id="username" name="username">
<br>
<input type="password" id="password" name="password"/>
<br>
<a href="#" onclick="document.getElementById('FORMBUTTON').click();">Submit</a>
<br>
<input id="FORMBUTTON" type="submit"/>
</form>
</body>
</html>
는 방법이의 함수가 호출됩지 링크를 클릭하거나 제출 버튼을 누르(거나 enter 키를 누르)및를 취소할 수 있습니다 false 를 반환하여 제출.이에 영향을 미칠 수 있는 방법 IE7 해석의 양식을 제출.
편집:나는 것이 좋습니다 항상 연결 양식을 제출 이 방법으로 보다는 오히려 부 submit()양식에 개체입니다.를 호출하는 경우 제출()다음에 그것을 트리거하지 않은 형태로 개체의 onsubmit.
다른 팁
href에 URL을 넣고 클릭 이벤트 핸들러를 연결하여 양식을 제출하고 URL이 탐색되지 않도록 클릭 핸들러에서 false를 반환해 보셨나요?
아니면 자바스크립트를 통해 숨겨진 제출 버튼이 실행되나요?
u003Cbutton>링크 나 제출 버튼 대신 HTML 태그를 사용해 볼 수 있습니다.u003C/button>
예를 들어,
<button type="submit">Submit</button>
u003Cbutton>태그는 표준보다 스타일이 훨씬 쉽습니다.u003Cinput type="submit"> . 크로스 브라우저 기발함이 있지만 극복 할 수는 없습니다.u003C/button>
사용에 대한 정말 훌륭한 기사 u003Cbutton>는 Particletree에서 찾을 수 있습니다.u003C/button> 버튼 요소를 재발견합니다