티스토리 뷰
728x90
반응형
프로그래머가 처음부터 개발을 담당한다면
이러한 일은 별로 없겠지만 누가 만들고 간 소스, 누가 만들다 만 소스.
만들어진 소스에 커스텀한 소스 등을 맞이 하다 보면 이런 상황이 필요해질 때가 있다.
인터넷에서 검색해보니 JQuery 이미 나와있다.
jQuery.fn.serializeObject = function() {
var obj = null;
try {
if(this[0].tagName && this[0].tagName.toUpperCase() == "FORM" ) {
var arr = this.serializeArray();
if(arr){ obj = {};
jQuery.each(arr, function() {
obj[this.name] = this.value;
});
}
}
}catch(e) {
alert(e.message);
}finally {}
return obj;
}
jquery를 활용하는 환경에서는 문제 없겠지만
최근 React나 Vue 등의 인기있는 프레임워크에서 JQuery를 버리는 추세로 가고 있기에 퓨어하게 만들어보았다.
Object.prototype.FormObject = function (){
var obj = null;
try {
if(this.tagName && this.tagName.toUpperCase() == "FORM") {
var value = this.querySelectorAll("[name]");
if(value.length > 0) obj = {};
value.forEach(ele => {
obj[ele.name] = ele.value;
});
}
}catch(e) {
alert(e.message);
}finally {}
return obj;
};
사용 예제는 아래와 같다.
const f = document.getElementById('form').FormObject();
//폼 안에 있는 해당 모든 전송값이 Obeject로 바뀌게 된다.
JSON.stringify(f);
//위와 같이 JSON.stringify를 선언해주면 JSON 문자열 형태로 폼의 값들이 다 바뀌게 된다
728x90
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
IFrame YOUTUBE API를 활용한 custom player 개발 1편 (0) | 2020.12.23 |
---|---|
클라이언트(사용자)쪽에서 비디오 썸네일 뽑기 (0) | 2020.12.22 |
innerHTML을 사용할때 주의 할 점. (0) | 2020.12.22 |
WebAssembly를 활용한 Rich Text Editor 제작기 2편 (0) | 2020.12.20 |
WebAssembly를 활용한 Rich Text Editor 제작기 1편 (0) | 2020.12.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 마크다운
- Rust
- ffmpeg
- WASM
- 7위를 하는 이유
- contributer
- 배포
- JavaScript
- #노력만 가상한 글
- craco
- #useState
- #useState 특징
- 노력만 가상한 글
- KBL
- 무관의 왕
- 팀별 분석
- 그래프
- iframe
- contributor
- webassembly
- #그래프
- #팀별 분석
- API
- 티스토리API
- #업데이트가 이상하게 될떄
- vtie
- HWP
- vscode
- 웹어셈블리
- youtube
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함