fix: 관리함 상세 내용 편집 기능 JavaScript 오류 수정
🐛 해결된 오류들: 1️⃣ ReferenceError: allIssues 변수 참조 오류: - allIssues → issues로 변수명 수정 - 관리함 페이지에서 사용하는 올바른 변수명 적용 - cancelDetailEdit(), saveDetailEdit() 함수에서 수정 2️⃣ TypeError: additionalInfoForm 요소 참조 오류: - document.getElementById() 결과 null 체크 추가 - 요소가 존재할 때만 이벤트 리스너 등록 - 안전한 DOM 요소 접근으로 개선 🔧 코드 안정성 개선: - DOM 요소 존재 여부 확인 후 접근 - 변수 스코프 일관성 유지 - 오류 방지를 위한 방어적 프로그래밍 💡 수정 사항: - issues.find() 사용으로 올바른 데이터 접근 - if (additionalInfoForm) 조건부 이벤트 리스너 등록 - 중괄호 누락 문제 해결 Expected Result: ✅ 상세 내용 편집 기능 정상 작동 ✅ JavaScript 오류 없는 안정적인 실행 ✅ DOM 요소 안전 접근 ✅ 일관된 변수 참조
This commit is contained in:
@@ -1502,8 +1502,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
// 추가 정보 폼 제출 처리
|
||||
document.getElementById('additionalInfoForm').addEventListener('submit', async function(e) {
|
||||
// 추가 정보 폼 제출 처리 (요소가 존재할 때만)
|
||||
const additionalInfoForm = document.getElementById('additionalInfoForm');
|
||||
if (additionalInfoForm) {
|
||||
additionalInfoForm.addEventListener('submit', async function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
if (!selectedIssueId) {
|
||||
@@ -1542,7 +1544,8 @@
|
||||
console.error('추가 정보 저장 실패:', error);
|
||||
alert('저장 중 오류가 발생했습니다.');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 상세 내용 편집 관련 함수들
|
||||
function toggleDetailEdit(issueId) {
|
||||
@@ -1570,7 +1573,7 @@
|
||||
editDiv.classList.add('hidden');
|
||||
|
||||
// 원래 값으로 복원
|
||||
const issue = allIssues.find(i => i.id === issueId);
|
||||
const issue = issues.find(i => i.id === issueId);
|
||||
if (issue) {
|
||||
const textarea = document.getElementById(`detail-textarea-${issueId}`);
|
||||
if (textarea) {
|
||||
@@ -1588,7 +1591,7 @@
|
||||
|
||||
try {
|
||||
// 현재 이슈 정보 가져오기
|
||||
const issue = allIssues.find(i => i.id === issueId);
|
||||
const issue = issues.find(i => i.id === issueId);
|
||||
if (!issue) {
|
||||
alert('이슈 정보를 찾을 수 없습니다.');
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user