폼 조작(Form Manipulation)은 입력 필드의 값을 가져오거나 변경하는 기능을 의미한다.
jQuery를 사용하면 val(), prop(), is() 등의 메서드를 이용해 폼 요소의 값을 쉽게 조작할 수 있다.
<input type="text" id="name" placeholder="이름 입력">
<button id="getValue">값 가져오기</button>
<p id="output"></p>
<script>
$(document).ready(funtction() {
$("#getValue").on("click", function() {
var name = $("#name").val(); // 입력된 값 가져오기
$("#output").text("입력된 값: " + name);
});
});
</script>
<input type="text" id="name" placeholder="이름 입력">
<button id="setValue">값 설정하기</button>
<script>
$(document).ready(function() {
$("#setValue").on("click", function() {
$("#name").val("홍길동"); // 입력 필드 값 변경
});
});
</script>
<input type="checkbox" id="agree"> 약관 동의
<button id="checkAgree">확인</button>
<p id="status"></p>
<script>
$(document).ready(function() {
$("#checkAgree").on("click", function() {
var isChecked = $("#agree").is(":checked");
$("#status").text(isChecked ? "동의함" : "동의하지 않음");
});
});
</script>
<select id="job">
<option value="developter">개발자</option>
<option value="designer">디자이너</option>
<option value="manager">매니저</option>
</select>
<button id="getJob">직업 선택</button>
<p id="jobOutput"></p>
<script>
$(document).ready(function() {
$("getJob").on("click", function() {
var selectedJob = $("#job").val(); // 선택한 값 가져오기
$("#jobOutput").text("선택한 직업: ") + selectedJob);
});
});
</script>
유효성 검사(Form Validation)는 사용자가 올바른 값을 입력했는지 확인하는 과정이다.
입력 필드가 비어 있는지 확인하고, 이메일 형식이 맞는지 검사할 수 있다.
| 메서드 | 설명 |
|---|---|
| val() | 입력 필드의 값 가져오기 |
| trim() | 문자열의 앞뒤 공백 제거 |
| is(":checked") | 체크박스 선택 여부 확인 |
| is(":selected") | 셀렉트 박스에서 값이 선택되었는지 확인 |
<form id="myForm">
<label for="name">이름:</label>
<input type="text" id="name" name="name">
<br>
<label for="email">이메일:</label>
<input type="email" id="email" name="email">
<br>
<button type="submit">제출</button>
</form>
<p id="message"></p>
<script>
$(document).ready(function() {
$("#myForm").submit(function(event) {
event.preventDefault(); // 기본 제출 막기
var name = $("#name").val().trim();
var email = $("#email).val().trim();
if (name === "" || email === "") {
$("#message").text("이름과 이메일을 모두 입력해주세요.").css("color", "red");
} else {
$("#message").text("폼이 정상적으로 제출되었습니다.").css("color", "green");
}
});
});
</script>
<input type="email" id="email" placeholder="이메일 입력">
<button id="validateEmail">검사</button>
<p id="emailMessage"></p>
<script>
$("document).ready(function() {
$("#validateEmail").on("click", function() {
var email = $("#email).val();
var emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
if (emailPattern.test(email)) {
$("#emailMessage").text("올바른 이메일 형식입니다.").css("color", "green");
} else {
$("#emailMessage").text("이메일 형식이 올바르지 않습니다.").css("color", "red");
});
});
</script>