[JSアプリケーション]会員登録ページの作成
🖍 HTML、CSS、JSを使って会員登録ページを作成する-機能がメインで、cssは簡単なはずです!
onsubmit:フォームタグでフォーム転送を検証する前にデータを入力するイベント. submitはsubmitをクリックして行い、 角if文が最後に 検証項目は次のとおりです. 名称、身分、パスワード、パスワードの確認、受け入れ条項と条件の
🔴 HTML、CSSの使用
🟠 HTML - join.html
<body>
<form name="join_form" action="" method="get" id="jaoin_form" onsubmit="return form_check()">
<fieldset>
<legend>회원가입</legend>
<p>
<label for="u_name">이름</label>
<input type="text" name="u_name" id="u_name">
<br>
<span class="err_name"></span>
</p>
<p>
<label for="u_id">아이디</label>
<input type="text" name="u_id" id="u_id">
<button type="button">아이디 중복확인</button>
<br>
<span class="err_id">* 4~12글자까지만 입력 가능합니다.</span>
</p>
<p>
<label for="pwd">비밀번호</label>
<input type="text" name="pwd" id="pwd">
<br>
<span class="err_pwd">* 4~12글자까지만 입력 가능합니다.</span>
</p>
<p>
<label for="repwd">비밀번호 확인</label>
<input type="text" name="repwd" id="repwd">
<br>
<span class="err_repwd"></span>
</p>
<p>
<label for="birth">생년월일</label>
<input type="text" name="birth" id="birth">
<br>
<span class="err_birth">* ex)19700101 - 8자리로 입력</span>
</p>
<p>
<label for="postalCode">주소검색</label>
<input type="text" name="postalCode" id="postalCode" placeholder="우편번호">
<button type="button">주소검색</button> <br>
<label for="addr1">주소</label>
<input type="text" name="addr1" id="addr1" placeholder="기본주소">
<label for="addr2"></label>
<input type="text" name="addr2" id="addr2" placeholder="상세주소">
</p>
<p>
<label for="email_id">이메일</label>
<input type="text" name="email_id" id="email_id"> @
<input type="text" name="email_dns" id="email_dns">
<select name="email_sel" id="email_sel">
<option value="">직접 입력</option>
<option value="naver.com">NAVER</option>
<option value="hanmail.net">DAUM</option>
<option value="gmail.com">GOOGLE</option>
</select>
</p>
<p>
<label for="mobile">전화번호</label>
<input type="text" name="mobile" id="mobile">
<br>
<span class="err_mobile">* '-'없이 숫자만 입력</span>
</p>
<p>
<input type="checkbox" name="agree" id="agree">
<label for="agree">약관 동의</label>
<br>
<span class="err_agree">* 필수</span>
</p>
<p class="final_btn">
<button type="button" class="btn">이전으로</button>
<button type="submit" class="btn">회원가입</button>
</p>
</fieldset>
</form>
<script src="join.js" type="text/javascript"></script>
</body>
onsubmit="return form_check()"
onsubmit="return false"
はsubmitを行わない.🟡 CSS:内部スタイルシート-join。html
<style type="text/css">
form {
width: 600px;
margin: auto;
}
form legend {
font-size: 20px;
text-align: center;
}
form p span {
font-size: 13px;
color: rgb(0, 60, 255);
font-style: italic;
}
form .final_btn {
text-align: center;
}
</style>
🟢 JS:外部スタイルシート(bodyの下部にある)-join。js
function form_check() { // form요소 submit 전 유효성 검사
let u_name = document.getElementById("u_name");
let u_id = document.getElementById("u_id");
let pwd = document.getElementById("pwd");
let repwd = document.getElementById("repwd");
let agree = document.getElementById("agree");
function red_err_txt() {
err_txt.style.color = "red";
}
if (u_name.value == "") {
var err_txt = document.querySelector(".err_name");
red_err_txt();
err_txt.textContent = "* 이름을 입력하세요.";
u_name.focus();
return false;
}
if (u_id.value == "") {
var err_txt = document.querySelector(".err_id");
red_err_txt();
err_txt.textContent = "* 아이디를 입력하세요";
u_id.focus();
return false;
}
const uid_len = u_id.value.length;
if (uid_len < 4 || uid_len > 12) {
var err_txt = document.querySelector(".err_id");
red_err_txt();
err_txt.textContent = "* 4~12글자까지만 입력 가능합니다.";
u_id.focus();
return false;
}
if (pwd.value == "") {
var err_txt = document.querySelector(".err_pwd");
red_err_txt();
err_txt.textContent = "* 비밀번호를 입력하세요";
pwd.focus();
return false;
}
var pwd_len = pwd.value.length;
if (pwd_len < 4 || pwd_len > 12) {
var err_txt = document.querySelector(".err_pwd");
red_err_txt();
err_txt.textContent = "* 4~12글자까지만 입력 가능합니다.";
pwd.focus();
return false;
}
if (pwd.value != repwd.value) {
var err_txt = document.querySelector(".err_repwd");
red_err_txt();
err_txt.textContent = "* 비밀번호를 확인해주세요.";
repwd.focus();
return false;
}
if (!agree.checked) {
alert("약관 동의가 필요합니다.");
agree.focus();
return false;
}
}
return false;
と書かれたのは、戻り値がfalse(検証に適していない)の場合、コミットされないためです.🔵 詳細は私のgithubを参照してください
Reference
この問題について([JSアプリケーション]会員登録ページの作成), 我々は、より多くの情報をここで見つけました https://velog.io/@dpdnjs402/lt852tjdテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol