티스토리 뷰
반응형
지금 진행하는 프로젝트의 한 부분입니다. 이런 코드를 만들어야 한다면?
로트번호 입력과 성적서 보기 기능 구현하기
웹 개발을 하다 보면 입력한 값을 기반으로 데이터를 불러오거나, 화면에 동적으로 표시해야 하는 경우가 많습니다. 이번 포스팅에서는 로트번호 입력 후 버튼 클릭으로 성적서를 불러오는 기능을 구현하는 방법을 친절히 설명드리겠습니다. 초보자 분들도 따라 하실 수 있도록 하나씩 차근차근 설명드릴게요!
1. HTML 구조 설계
먼저, 로트번호를 입력할 input 필드와, 성적서를 보기 위한 span 버튼을 만들어야 합니다. 아래처럼 HTML을 구성해 주세요.
<div class="d-flex justify-content-center align-items-center">
<input type="text" class="form-control lotnumInput noborder-input text-center" placeholder="로트번호">
<span class="info-btn" data-lotnum="" title="성적서 보기">
<i class="bi bi-info-circle-fill"></i>
</span>
</div>
✨ Tip: span 태그의 data-lotnum 속성을 활용해 입력된 로트번호를 저장할 예정입니다.
2. 입력 값 동기화 및 버튼 클릭 이벤트
이제 사용자가 로트번호를 입력하면, 해당 값이 data-lotnum 속성에 자동으로 저장되도록 해보겠습니다. 그리고 버튼 클릭 시 성적서를 불러오는 로직도 추가할게요.
$(document).ready(function () {
// 입력 값이 변경될 때 data-lotnum에 값 저장
$(document).on('input', '.lotnumInput', function () {
var inputVal = $(this).val();
$(this).siblings('.info-btn').attr('data-lotnum', inputVal);
});
// 버튼 클릭 시 성적서 데이터 요청
$(document).on('click', '.info-btn', function () {
var lotnum = $(this).data('lotnum');
if (!lotnum) {
Swal.fire('알림', '로트번호를 입력하세요.', 'warning');
return;
}
// AJAX 요청으로 성적서 가져오기
$.ajax({
url: 'fetch_certificate.php',
type: 'POST',
data: { lotnum: lotnum },
dataType: 'json',
success: function (response) {
if (response.success) {
$('#certificateModal .modal-body').html(response.data);
$('#certificateModal').modal('show');
} else {
Swal.fire('오류', response.message, 'error');
}
},
error: function () {
Swal.fire('오류', '서버 요청에 실패했습니다.', 'error');
},
});
});
});
3. 성적서를 보여줄 Modal 추가
AJAX 요청이 성공하면 성적서를 보기 쉽게 Modal로 표시할 겁니다. Bootstrap의 Modal을 사용하여 화면을 구성해 보세요.
<div class="modal fade" id="certificateModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">성적서</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<!-- 성적서 내용이 여기에 표시됩니다 -->
</div>
</div>
</div>
</div>
4. 서버에서 성적서 데이터 가져오기
fetch_certificate.php는 서버에서 로트번호에 맞는 성적서 데이터를 찾아 반환하는 역할을 합니다. 아래 코드를 참고하여 작성해 주세요.
<?php
header("Content-Type: application/json");
require_once 'db_connect.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$lotnum = isset($_POST['lotnum']) ? trim($_POST['lotnum']) : '';
if (empty($lotnum)) {
echo json_encode(['success' => false, 'message' => '로트번호가 비어 있습니다.']);
exit;
}
$stmt = $pdo->prepare("SELECT * FROM certificates WHERE lotnum = :lotnum");
$stmt->bindParam(':lotnum', $lotnum);
$stmt->execute();
$certificate = $stmt->fetch(PDO::FETCH_ASSOC);
if ($certificate) {
$html = "<p>성적서 번호: {$certificate['cert_id']}</p>";
$html .= "<p>등록일: {$certificate['reg_date']}</p>";
$html .= "<p>내용: {$certificate['content']}</p>";
echo json_encode(['success' => true, 'data' => $html]);
} else {
echo json_encode(['success' => false, 'message' => '성적서를 찾을 수 없습니다.']);
}
}
5. 최종 결과
이제 로트번호를 입력하고 버튼을 클릭하면, 해당 성적서가 모달로 표시됩니다! 아래는 동작 예시입니다:
- 로트번호 입력: 사용자가 input에 로트번호를 입력하면, 값이 자동으로 버튼의 data-lotnum에 저장됩니다.
- 성적서 보기: 버튼 클릭 시 AJAX 요청으로 성적서를 가져오고, Modal에 표시합니다.
마무리하며
이제 여러분도 로트번호 기반으로 데이터를 동적으로 불러오는 기능을 구현할 수 있습니다. 초보자 분들도 위 코드만 따라 하면 어렵지 않게 적용하실 수 있을 거예요! 🛠️
반응형
'IT tech Coding > javascript' 카테고리의 다른 글
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래머생활
- chatGPT3.5파이썬버전
- 효율적코딩방법
- 티스토리챌린지
- General error: 2031
- isset을 적용해야 하는 이유
- 엑셀보호
- 오블완
- 파이썬코드줄바꿈방법
- 스크립트작성기초
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- 코딩튜토리얼
- 뫄프로그래밍
- 도면자동생성
- #InstallForge
- 코딩효율성
- 오토핫키가이드
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- json파일형태보기
- 구글드라이브API
- Bootstrap 5
- 엑셀입력보호
- 캐드자동작도
- #파이썬패키징
- #프로그램설치
- sql문장 날짜계산
- ajax오류메시지
- 테크에능한여성
- 엑셀셀보호
- json파일편하게보는법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함