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 | 31 |
Tags
- Express
- json
- github
- javascript
- Frontend
- html
- React
- jstree
- ajax
- QueryString
- Emulator
- Cloud
- EJS
- innerText
- url parsing
- Front-End
- node.js
- vue
- Javasript
- node
- Excel
- insertAdjacentHTML
- module
- CSS
- password
- jquery
- DataTable
- Video
Archives
- Today
- Total
Developer's blog
[JavaScript] 비밀번호 보이기 / 숨기기 구현 본문
오늘은 새로운 프로젝트의 웹 페이지를 제작하기 시작하며, 새롭게 로그인 폼을 만들고자 하였다.
이번에는 저번에 사용하지 않았던 기능인 비밀번호 보이기/숨기기를 개발하여 사용해보고자 생각하였다.
로그인 개발 시, 비밀번호 input type은 password로 지정하는데 그럼 비밀번호가 ****라고 표시되기 때문에 사용자는 자신이 입력한 값을 알 수 없다.
따라서 눈모양 아이콘을 클릭하면 토글 형식으로 비밀번호가 보였다, 안보였다 하는 기능을 개발하였다.
이때 필요한 코드는 비밀번호 입력 input box 와 눈모양 아이콘은 위한 i 태그를 한 번에 감싸주는 div를 선언하는 html이 필요하며, 아이콘을 input box 내의 적당한 위치에 배치하기 위한 css가 필요하다. 또한, 아이콘을 누르면 active 클래스를 추가하여 input type을 text로 바꿔 비밀번호를 표시하고 아이콘을 변경시키며, 한번 더 누르면 input type을 다시 password로 바꾸는 토글 형식의 기능을 가진 javascript가 필요하였다.
위의 요구사항대로 작성한 코드는 아래와 같다.
HTML
<div class="form-group password">
<input type="password" class="form-control" placeholder="Password" required="">
<i class="fa fa-eye fa-lg"></i>
</div>
CSS
div.password{
position: relative;
}
div.password i{
position: absolute;
left: 90%;
top: 35%;
color: gray;
}
Javascript
<script>
$(document).ready(function(){
$('.password i').on('click',function(){
$('input').toggleClass('active');
if($('input').hasClass('active')){
$(this).attr('class',"fa fa-eye-slash fa-lg")
.prev('input').attr('type',"text");
}else{
$(this).attr('class',"fa fa-eye fa-lg")
.prev('input').attr('type','password');
}
});
});
</script>
해당 코드들을 통해 원하는 결과를 낼 수 있었다.
아, 참고로 아이콘은 font-awesome을 사용하였고 font-awesome 사용하기 위해서는 cdn으로 불러오거나 사용할 수 있도록 가져 와야한다.
'FrontEnd > JavaScript' 카테고리의 다른 글
[JavaScript] 테이블 expand 구현하기 (0) | 2022.08.01 |
---|---|
[JavaScript] 이미지 클릭 시 다음 페이지에 해당 이미지 띄우기 (0) | 2022.04.28 |
[JavaScript] Html5 - Video 태그를 이용한 동영상 스트리밍 기능 구현 (0) | 2022.04.13 |
[JavaScript] jsTree 사용법 예제 모음 (0) | 2021.07.02 |
[JavaScript] 클릭 시, 새 창으로 결과 출력 (0) | 2021.06.29 |