다음 코드를 사용하여 단추 대신 링크가있는 양식을 제출하는 데 사용합니다. 이것은 우리가 CSS 호버 (hover)를 그들과 함께 할 수 있도록하기 위해서입니다.Jquery - 양식을 두 번 제출하는 Internet Explorer
$('a.css_submit').click(submit_form);
$('a.inactive_submit').click(submit_form);
function submit_form(event) {
if ($(this).parents('form:first').length > 0 && !$(this).hasClass('inactive_submit')) {
$(this).toggleClass("css_submit inactive_submit");
$(this).parents('form:first').submit();
return false;
} else {
return true;
}
}
문제는 Internet Explorer에서 양식을 두 번 제출하는 것입니다. 문제를 직접 복제 할 수는 없지만 프로덕션 서버 로그에서 확인할 수 있습니다. 이 문제는 IE6 - IE9에서 계속됩니다. 다른 모든 브라우저는 정상적으로 작동합니다. 링크에서 거짓을 반환한다고 말하는 게시물을 보았지만 그 일을하고 있습니다.
도움을 주시면 감사하겠습니다.
아마 사용자가 두 번 빠르게 제출을 클릭하고 있습니다. 첫 번째 클릭 후 링크를 비활성화하십시오. –
event.preventDefault()를 submit_form의 첫 번째 줄로 사용하면 똑같은 작업을 수행합니까? (대신 false를 반환합니다.) –
+1 @ilia 이것은 대개의 경우입니다. 일반 인구는 Windows 아이콘을 두 번 클릭하는 데 사용되므로 _everything_을 두 번 클릭하는 경향이 있습니다. 몇 년 전에 온라인 결제 시스템을 작성했고 두 번 제출을 막기 위해 제출 버튼 onclick (서버 측 유효성 검사 외에)을 사용 중지했습니다. –