🔐 id,pw入力時にログインボタンを有効にする
20467 ワード
로그인, 회원가입과 같은 입력폼 페이지에서 데이터가 모두 입력되면
하단 확인(다음,제출 등)버튼이 비활성화였다가 활성화되는 기능을 프론트에서 스크립트로 구현해보고자 한다.
복잡한 입력폼 페이지를 접하기 전에 간단한 로그인 페이지에서 먼저 구현 해보고자 한다.
🌟目標実装機能
1.id、pwの値がtrueの場合、ボタンがアクティブになります。
2.idとpwの両方の値がfalseの場合、ボタンは無効になります。
実施方法
<section class="contents login_contents">
<div class="container">
<!-- 유효성 검사 form_wrap_line 에 error 추가 -->
<div class="form_wrap_line login_top">
<div class="form-group-wrap">
<div class="form-group">
<input type="text" id="user_id" class="form-control box" placeholder="카카오계정" title="카카오계정">
</div>
<div class="form-group">
<input type="password" id="user_pw" class="form-control box" placeholder="비밀번호" title="비밀번호">
</div>
</div>
<div class="btn-group">
<button type="button" id="btn_login" class="btn btn_lg btn_primary" disabled>로그인</button>
</div>
<p class="caution">카카오계정 또는 비밀번호를 다시 확인해주세요</p>
</div>
<div class="btn-login-util">
<button type="button" class="btn_find_id">카카오계정 찾기</button>
<button type="button" class="btn_find_pw">비밀번호 재설정</button>
</div>
</div>
</section>
const formWrap = document.querySelector('.form_wrap_line');
const idForm = document.querySelector('#user_id');
const pwForm = document.querySelector('#user_pw');
const loginButton = document.querySelector('#btn_login');
1.ブール関数を使用します。
let idCheck = false;
let pwCheck = false;
const pushValue = () => {
idForm.addEventListener('keyup', () => {
idCheck = true
});
pwForm.addEventListener('keyup', () => {
pwCheck = true
});
}
pushValue();
2.pw入力ボックス値をtrueとした場合、アクティビティを与えます。
const pushValue () => {
pwForm.addEventListener('keyup', () => {
if(idForm.value && pwForm.value){
loginButton.disabled = false;
} else {
loginButton.disabled = true;
}
});
}
pushValue();
3.アクティビティ関数を作成し、アクティビティを付与します。
idForm.addEventListener('keyup', activeEvent);
pwForm.addEventListener('keyup', activeEvent);
loginButton.addEventListener('click', errorEvent);
function activeEvent() {
switch(!(idForm && pwForm)){
case true : loginButton.disabled = true; break;
case false : loginButton.disabled = false; break
}
}
function errorEvent() { // 이건 그냥 error 문구 출력해보려고 만들어봄.(신경안써도됨)
formWrap.classList.add('error');
}
すべてのidとpwを入力すると、「10179142」ボタンが有効になります.pwを入力すると無効になるボタン
最終実施結果
デザインが単調すぎるため、「KakaoTalkログイン」画面を参照してください.😅
有効性チェックはerror文を出力するために作成されます😁
リファレンス
https://velog.io/@rain98/TIL-id-pw-%EC%9E%85%EB%A0%A5-%EC%8B%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EB%B2%84%ED%8A%BC-%ED%99%9C%EC%84%B1%ED%99%94-%EA%B8%B0%EB%8A%A5
https://velog.io/@najiexx/javascript-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EB%B2%84%ED%8A%BC-%ED%99%9C%EC%84%B1%ED%99%94
https://cocoon1787.tistory.com/700
Reference
この問題について(🔐 id,pw入力時にログインボタンを有効にする), 我々は、より多くの情報をここで見つけました https://velog.io/@ahn-sujin/idpw-입력-시-로그인-버튼-활성화-하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol