Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 프론트 본인인증
- CSS
- github
- 빈도수세기
- Til
- 메일 보내기 react
- 프로그래머스
- swiper
- robots.txt
- 알고리즘
- nextjs contact us
- App Router
- nextjs
- 사이트맵
- web3-react
- 함수
- React 나이스 신원인증
- nextjs 메일보내기
- use Client
- pass인증
- Next.js 나이스 본인인증
- react
- JavaScript
- 다중포인터
- 카카오맵 api
- next15
- 전체 너비로 css
- 카카오지도 구현
- 구글 메일보내기
- react swiper
Archives
- Today
- Total
YEV.log
React | javascript 로 받은 form형태 react form으로 변환 하기 (에스크로 인증마크 설정) 본문
Web/React & Next.js
React | javascript 로 받은 form형태 react form으로 변환 하기 (에스크로 인증마크 설정)
일렁이는코드 2022. 11. 21. 14:35전달받은 코드
회사에서 프로젝트가 1차 마무리 될 쯤, 운영팀 쪽에서 에스크로 인증 마크를 푸터 하단에 넣어달라는 요청을 받았습니다. 단순히 인증마크 이미지만 추가하면 되는건가 생각했는데, 전달 받은 내용엔 자바스크립트가 포함이...🧐
<!-- 기업은행안심이체 인증마크 적용 시작-->
<script>
function onPopAuthMark(key)
{
window.open('','AUTHMARK_POPUP','height=900, width=630, status=yes, toolbar=no, menubar=no, location=no');
document.AUTHMARK_FORM.authmarkinfo.value = key;
document.AUTHMARK_FORM.action='https://kiup.ibk.co.kr/uib/jsp/guest/esc/esc25/getAuthMark.jsp';
document.AUTHMARK_FORM.target='AUTHMARK_POPUP';
document.AUTHMARK_FORM.submit();
}
</script>
<FORM name='AUTHMARK_FORM' METHOD='POST'>
<input type="hidden" name="authmarkinfo">
</FORM>
<a href="javascript:onPopAuthMark('yourPrivateKey1234')">
<img src='https://kiup.ibk.co.kr/IBK/uib/ecb/img/KO/esc/sub/imgIbkMark.gif' alt='인증마크' border='0'/>
</a>
<!--기업은행안심이체 인증마크 적용 종료 -->
전달받은 코드를 간단하게 살펴보자면, 인증마크 버튼을 누르면 전달받은 키를 은행쪽의 주소로 전달하게 되고 그 전달받은 값을 윈도우 팝업형식으로 띄어주는 코드네요.
index.html 파일에 전달받은 코드 그대로 복붙하게 되면 결과를 바로 볼 수 있지만 저는 원하는 위치에 삽입해야했고 react에 그대로 적용했을때는 타입에러가 나서 그대로 사용할 수 없었기 때문에 react form 형식으로 바꿔보려 했습니다.
React form
const key = "전달받은키"
const openMark = (e) => {
e.preventDefault();
window.open(
'',
'AUTHMARK_POPUP',
'height=900, width=630, status=yes, toolbar=no, menubar=no, location=no'
);
e.target.action =
'https://kiup.ibk.co.kr/uib/jsp/guest/esc/esc25/getAuthMark.jsp';
e.target.target = 'AUTHMARK_POPUP';
e.target.submit();
};
...
<form name="AUTHMARK_FORM" onSubmit={openMark}>
<input type="hidden" name="authmarkinfo" value={key} />
<button type="submit">
<img src="https://kiup.ibk.co.kr/IBK/uib/ecb/img/KO/esc/sub/imgIbkMark.gif"
alt="인증마크" />
</button>
</form>
form 태그 안에 key 값을 받는 input과, img를 클릭했을 때 onSubmit 함수가 실행될 수 있도록 img를 button태그로 감싸주었고, 전달받은 키는 input value에 바로 넣어주었습니다.
openMark라는 submit 함수를 만들어 내부에 전달받은 자바스크립트를 조금 변형시켜 넣어주었습니다.
완료
에스크로 인증마크를 클릭했을때 뜨는 판매자확인정보 팝업.
👾 기존에는 api post를 써서 고객의 정보들을 전달하는 일이 많아 굳이 form을 쓰지않아 처음 react 방식으로 변환하는데 애를 좀 먹었습니다. 처음 쓰는 이벤트들은 꼭 콘솔로 찍어 확인해보자..!
반응형
'Web > React & Next.js' 카테고리의 다른 글
React | Swiper.js를 사용하여 이미지 슬라이드 구현하기 (0) | 2022.11.25 |
---|---|
React | 모바일, 데스크톱기기 구분하여 url 리다이렉트 시키기 (0) | 2022.11.24 |
React | 간단하게 public 경로의 파일 (소개서, 템플릿) 다운로드 (0) | 2022.11.18 |
React SEO | Sitemap에 동적페이지 추가 및 배포시 자동생성하기 (0) | 2022.11.15 |
React | 페이스북 픽셀 연결하기 (React Facebook Pixel) (1) | 2022.06.07 |