From e018aa5f76012f7fe54376184685731df4e63111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=98=84=EC=9A=B1?= Date: Wed, 24 Dec 2025 11:49:29 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=84=EC=9D=B4=EB=94=94/=EB=B9=84=EB=B0=80?= =?UTF-8?q?=EB=B2=88=ED=98=B8=20=EC=B0=BE=EA=B8=B0=20=EC=88=98=EC=A0=95(3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/sopmal/mbr/IdPasswordSearchR.jsp | 3 +- .../views/sopmal_m/mbr/IdPasswordSearchR.jsp | 353 ++++++++++++++++-- 2 files changed, 323 insertions(+), 33 deletions(-) diff --git a/src/main/webapp/WEB-INF/views/sopmal/mbr/IdPasswordSearchR.jsp b/src/main/webapp/WEB-INF/views/sopmal/mbr/IdPasswordSearchR.jsp index 1ace8b41..f32ef191 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/mbr/IdPasswordSearchR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/mbr/IdPasswordSearchR.jsp @@ -126,7 +126,7 @@ return; }else if(!$('#srchIdEmail').val()){ alert('이메일 주소를 입력해 주세요.'); - $('#srchIdPhoneNb').focus(); + $('#srchIdEmail').focus(); return; } @@ -238,7 +238,6 @@ let mbrEmail; let mbrNm; - let mbtlnb; if (findType === 'id') { mbrEmail = $('#srchIdEmail').val(); mbrNm = $('#srchIdMbrNm').val(); diff --git a/src/main/webapp/WEB-INF/views/sopmal_m/mbr/IdPasswordSearchR.jsp b/src/main/webapp/WEB-INF/views/sopmal_m/mbr/IdPasswordSearchR.jsp index 6ad64999..75d3e0c8 100644 --- a/src/main/webapp/WEB-INF/views/sopmal_m/mbr/IdPasswordSearchR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal_m/mbr/IdPasswordSearchR.jsp @@ -27,26 +27,30 @@ $(document).ready(function() { fn_set_header_title("아이디/비밀번호 찾기"); fn_select_tap('id'); - fn_show_phoneAuth(); + fn_show_emailAuth(); + // fn_show_phoneAuth(); first = 0; $(".login__inputBox__alertText").hide(); fn_alert_hide($("#srchIdMbrNm"), $("#srchIdMbrNmAlert")); - fn_alert_hide($("#srchIdPhoneNb"), $("#srchIdPhoneNbAlert")); + // fn_alert_hide($("#srchIdPhoneNb"), $("#srchIdPhoneNbAlert")); + fn_alert_hide($("#srchIdEmail"), $("#srchIdEmailAlert")); fn_alert_hide($("#srchIdSendungNb"), $("#srchIdSendungNbAlert")); fn_alert_hide($("#srchPsMbrNm"), $("#srchPsMbrNmAlert")); fn_alert_hide($("#srchPsMbrId"), $("#srchPsMbrIdAlert")); - fn_alert_hide($("#srchPsPhoneNb"), $("#srchPsPhoneNbAlert")); + // fn_alert_hide($("#srchPsPhoneNb"), $("#srchPsPhoneNbAlert")); + fn_alert_hide($("#srchPsEmail"), $("#srchPsEmailAlert")); fn_alert_hide($("#srchPsSendungNb"), $("#srchPsSendungNbAlert")); $('.certInp').on('keydown', function(e) { if (e.keyCode == 13) { - $('.phoneAuthBtn').first().click(); + $('.emailAuthBtn').first().click(); } }); $('.certNb').on('keydown', function(e) { if (e.keyCode == 13) { - fn_confim_own(); + fn_confim_own_email(); + // fn_confim_own(); } }); }); @@ -75,13 +79,14 @@ //입력값 초기화 first = 0; certNb = ''; - fn_stop_timer(); + fn_stop_email_timer(); + // fn_stop_timer(); $('.input-text').val(''); if(isChkd_own){ $('.input-text').attr("readonly", false); - $('.phoneAuthBtn').show(); - $('.phoneAuthOkBtn').hide(); + $('.emailAuthBtn').show(); + $('.emailAuthOkBtn').hide(); $('#resIdForm').hide(); $('#resPswdForm').hide(); isChkd_own = false; @@ -104,6 +109,52 @@ $('#findPswd').click(); } + /* ******************************************************** + * 이메일 인증 버튼 클릭시, 이메일 인증 박스 노출 + ******************************************************** */ + const fn_show_emailAuth = function() { + let emailAuthBtn = $('.emailAuthBtn'); + let emailAuthContent = $('.emailAuthContent'); + + emailAuthContent.hide(); + + emailAuthBtn.click(function () { + if (findType === 'id') { + if(!$('#srchIdMbrNm').val()){ + $('#srchIdMbrNm').focus(); + fn_alert_show('이름을 입력해 주세요.'); + return; + }else if(!$('#srchIdEmail').val()){ + $('#srchIdEmail').focus(); + fn_alert_show('이메일 주소를 입력해 주세요.'); + return; + } + + $('#reqIdForm .emailAuthContent').show(); + $('#srchIdSendungNb').focus(); + }else { + if(!$('#srchPsMbrNm').val()){ + $('#srchPsMbrNm').focus(); + fn_alert_show('이름을 입력해 주세요.'); + return; + }else if(!$('#srchPsMbrId').val()){ + $('#srchPsMbrId').focus(); + fn_alert_show('아이디를 입력해 주세요.'); + return; + }else if(!$('#srchPsEmail').val()){ + $('#srchPsEmail').focus(); + fn_alert_show('이메일 주소를 입력해 주세요.'); + return; + } + + $('#reqPswdForm .emailAuthContent').show(); + $('#srchPsSendungNb').focus(); + } + + fn_email_sending_number(); + }); + } + /* ******************************************************** * 휴대폰 인증 버튼 클릭시, 휴대폰 인증 박스 노출 ******************************************************** */ @@ -168,11 +219,83 @@ seconds--; } else { - fn_stop_timer(); + fn_stop_email_timer(); + // fn_stop_timer(); fn_alert_show('인증번호 유효시간이 만료되었습니다.'); } } + /* ******************************************************** + * 이메일 인증 번호 발송 + ******************************************************** */ + first = 0; + certNb = ''; + const fn_email_sending_number = function() { + + if(timerRunning){ + return; + } + + let mbrEmail; + let mbrNm; + if (findType === 'id') { + mbrEmail = $('#srchIdEmail').val(); + mbrNm = $('#srchIdMbrNm').val(); + } else { + mbrEmail = $('#srchPsEmail').val(); + mbrNm = $('#srchPsMbrNm').val(); + } + + if(certNb === mbrEmail){ + first++; + }else{ + first = 0; + } + certNb = mbrEmail; + + let params = { + 'mbrNm' : mbrNm, + 'email': mbrEmail + }; + + $.ajax({ + type : 'post', + url : '', + data : params, + success : function (Data) { + + let result = JSON.parse(Data.resBody.result); + if(result.result == "success"){ + if (first > 0) { + fn_alert_show('인증번호가 재발송되었습니다.'); + } else if (first === 0) { + fn_alert_show('인증번호가 발송되었습니다.'); + first++; + } else { + return; + } + + let sndngInnb = (findType === 'id') ? $('#srchIdForm .sndngInnb') : $('#srchPswdForm .sndngInnb'); + sndngInnb.val(result.sndngInnb); + }else { + fn_alert_show('인증번호 발송에 실패했습니다.'); + fn_stop_email_timer(); + return; + } + } + }); + + $('.input-text').attr("readonly", true); + $('.certNb').attr("readonly", false); + + clearInterval(countdown); + seconds = 300; + + fn_set_timeOut(); + countdown = setInterval(fn_set_timeOut, 1000); + timerRunning = true; + } + /* ******************************************************** * 휴대폰 인증 번호 발송 ******************************************************** */ @@ -248,6 +371,22 @@ timerRunning = true; } + /* ******************************************************** + * 타이머 정지 함수 (이메일) + ******************************************************** */ + const fn_stop_email_timer = function() { + + if (timerRunning) { + clearInterval(countdown); + $('.timer').text('05:00'); + $('.certNb').val(''); + $('.emailAuthContent').hide(); + + $('.input-text').attr("readonly", false); + timerRunning = false; + } + } + /* ******************************************************** * 타이머 정지 함수 ******************************************************** */ @@ -264,6 +403,126 @@ } } + /* ******************************************************** + * 이메일 인증 확인 + ******************************************************** */ + isChkd_own = false; + const fn_confim_own_email = function() { + + if (first <= 0) return; + + let sndngInnb; + let mbrEmail; + let crtnb; + if (findType === 'id') { + sndngInnb = $('#srchIdForm .sndngInnb').val(); + mbrEmail = $('#srchIdEmail').val(); + crtnb = $('#srchIdSendungNb').val(); + } else { + sndngInnb = $('#srchPswdForm .sndngInnb').val(); + mbrEmail = $('#srchPsEmail').val(); + crtnb = $('#srchPsSendungNb').val(); + } + fn_stop_email_timer(); + + let params = { + 'sndngInnb': sndngInnb, + 'email': mbrEmail, + 'crtnb' : crtnb + }; + + $.ajax({ + type : 'post', + url : '', + data : params, + success : function (Data) { + + let result = JSON.parse(Data.resBody.result); + if(result.result == "success"){ + fn_alert_show('인증되었습니다.'); + $('.emailAuthOkBtn').show(); + $('.emailAuthBtn').hide(); + isChkd_own = true; + + fn_select_infor_email(); + $('.input-text').attr("readonly", true); + }else { + fn_alert_show('인증번호가 일치하지 않습니다.'); + return; + } + } + }); + + } + + /* ******************************************************** + * 아이디 패스워드 조회(이메일) + ******************************************************** */ + const fn_select_infor_email = function() { + + let mbrId = ''; + let mbrEmail = ''; + let mbrNm = ''; + let url = ''; + + if (findType === 'id') { + url = ''; + mbrNm = $('#srchIdMbrNm').val().trim(); + mbrEmail = $('#srchIdEmail').val().trim(); + + } else { + url = ''; + mbrNm = $('#srchPsMbrNm').val().trim(); + mbrId = $('#srchPsMbrId').val().trim(); + mbrEmail = $('#srchPsEmail').val().trim(); + } + + let params = { + 'mbrId' : mbrId, + 'email': mbrEmail, + 'mbrNm' : mbrNm + }; + + $.ajax({ + type : 'post', + url : url, + data : params, + success : function(data) { + + let result = JSON.parse(data.resBody.result); + if (findType === 'id') { + + $('#reqIdForm').hide(); + $('#resIdForm').show(); + + if(result.result == "success"){ + $('#resIdForm').find('.userId').text(result.selectId); + $('.findSuccess').show(); + $('.findFail').hide(); + }else { + $('.findSuccess').hide(); + $('.findFail').show(); + } + } else if (findType === 'pswd') { + + $('#reqPswdForm').hide(); + $('#resPswdForm').show(); + + if(result.result == "success"){ + let message = '회원님의 이메일(' + mbrEmail + ')'; + $('#resPswdForm').find('.mbem').text(message); + $('.findSuccess').show(); + $('.findFail').hide(); + } + else { + $('.findSuccess').hide(); + $('.findFail').show(); + } + } + } + }); + } + /* ******************************************************** * 휴대폰 인증 확인 ******************************************************** */ @@ -453,20 +712,36 @@ @@ -496,20 +771,36 @@ +<%--
--%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%--
--%> +<%-- --%> +<%--
--%> +<%-- --%> +<%--
--%> +<%-- --%> +<%-- 03:00--%> +<%--
--%> +<%-- --%> +<%--
--%> +<%-- --%>
- - + + - +
- -
+ +
- 03:00 + 05:00
- +
@@ -518,24 +809,24 @@