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:
Hyungi Ahn
2025-10-26 12:44:21 +09:00
parent 7caf36c856
commit b090ff8f29

View File

@@ -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;