일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- league of legends
- MS-SQL
- MYSQL
- Aspose.cells
- upbit
- swift 화면전환
- .csv
- 한글깨짐
- 업비트
- rounding
- Android
- MSSQL
- PromptEngineering
- AIoptimization
- 초딩수학
- 오블완
- Request.Form
- chart.js
- Excel
- 썸머노트
- LEFT JOIN
- CSV
- Kakao API Address
- python
- Banker's
- largelanguagemodels
- Oracle
- Banker's rounding
- 나만의 상점
- 일본여행
Archives
- Today
- Total
DBA
jQuery FormData에 input 값 동적으로 추가하는 방법 (id 기준) 본문
[3] Development/MVC(ASP.NET with C#)
jQuery FormData에 input 값 동적으로 추가하는 방법 (id 기준)
코볼 2025. 4. 4. 14:44728x90
반응형
SMALL

jQuery에서 FormData에 input 값을 동적으로 추가하는 방법
- FormData란 무엇인가요?
- 기본적인 FormData 사용 예시
- 특정 input(id 기준)의 값을 FormData에 추가하기
- 전체 예제 코드
- 주의사항 및 팁
FormData 객체는 JavaScript와 jQuery에서 HTML 폼 데이터를 서버로 전송할 때 매우 유용한 도구입니다.
하지만 종종, <form> 태그 내에 없는 요소들(예: #startDateTime, #endDateTime)의 값을 함께 전송해야 할 때가 있죠. 이럴 땐 어떻게 처리할 수 있을까요?
이번 글에서는 jQuery를 사용해 FormData에 추가적인 input 값을 동적으로 삽입하는 방법을 코드와 함께 설명합니다.
🔹 FormData란?
FormData는 폼의 모든 필드 값을 key-value 쌍으로 구성된 객체로 만들어 AJAX 전송할 수 있게 도와줍니다.
기존에는 serialize()를 많이 사용했지만, 파일 업로드나 멀티파트 전송이 필요할 때 FormData가 훨씬 유용합니다.
🔹 FormData 기본 사용 예제
javascript
let form = $('#myForm')[0];
let formData = new FormData(form);
위와 같이 form 객체를 기반으로 FormData를 생성하면, 폼 내의 input, select, textarea 값이 자동으로 담깁니다.
🔹 특정 input 값을 추가로 FormData에 넣는 방법
html
<input type="text" id="startDateTime" value="2025-04-01 10:00" />
<input type="text" id="endDateTime" value="2025-04-01 18:00" />
이 값을 FormData에 넣고 싶다면 아래와 같이 하면 됩니다:
javascript
let form = $('#myForm')[0];
let formData = new FormData(form);
// ID를 기준으로 값을 가져와 추가
formData.append('startDateTime', $('#startDateTime').val());
formData.append('endDateTime', $('#endDateTime').val());
🔹 전체 예제 코드
<form id="myForm">
<input type="text" name="username" value="tester">
</form>
<input type="text" id="startDateTime" value="2025-04-01 10:00" />
<input type="text" id="endDateTime" value="2025-04-01 18:00" />
<script>
$('#submitBtn').on('click', function () {
let form = $('#myForm')[0];
let formData = new FormData(form);
// 외부 input 추가
formData.append('startDateTime', $('#startDateTime').val());
formData.append('endDateTime', $('#endDateTime').val());
$.ajax({
url: '/api/submit',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function (res) {
alert('서버 응답: ' + res.message);
}
});
});
</script>
⚠️ 주의사항 및 팁
- FormData.append()는 중복된 key도 허용하므로 같은 키를 여러 번 추가할 경우, 서버에서 배열처럼 처리할 수 있습니다.
- processData: false, contentType: false 설정은 multipart/form-data 전송을 위해 필수입니다.
- 파일 업로드와 함께 사용할 경우에도 유용하게 적용 가능합니다.

폼 외부의 input 값도 jQuery의 FormData.append() 메서드를 사용하면 손쉽게 추가할 수 있습니다.
특히 날짜나 사용자 지정 파라미터를 실시간으로 추가해야 할 때 매우 유용한 기법입니다.
이 방법을 잘 활용하면 보다 유연하고 강력한 폼 처리 로직을 구성할 수 있습니다!

📌 이 글이 도움이 되셨다면 하트 ♥ 혹은 댓글로 피드백 부탁드립니다 :)
궁금한 점은 언제든지 댓글로 질문 주세요!
728x90
반응형
LIST
Comments