๐ ์์ ๋ค์ด๋ก๋ ๋ฒํผ ํด๋ฆญ ํ ๋ค๋ฅธ ๋ฒํผ ๋์ ์ด์ ๋ฌธ์ ํด๊ฒฐ
๐งฉ ๋ฌธ์ ์ํฉ
- ๋์ผํ <form id="searchFrm">์ ์ฌ์ฉํ๋ ํ๋ฉด์์
- ํค์๋ ๊ฒ์
- ์ง์ญ ์กฐํ
- ์์
๋ค์ด๋ก๋
์ด 3๊ฐ์ ๋ฒํผ ์กด์ฌ
- ์์
๋ค์ด๋ก๋ ๋ฒํผ ํด๋ฆญ ์ดํ
→ ๋ค๋ฅธ ์กฐํ ๋ฒํผ ํด๋ฆญ ์์๋ ์์ ๋ค์ด๋ก๋๊ฐ ์คํ๋๋ ๋ฌธ์ ๋ฐ์
๐ ์์ธ ๋ถ์
- ์์ ๋ค์ด๋ก๋ ์ ์๋ ์ฝ๋๋ก form.action์ ๋ณ๊ฒฝ
form.action = "/welfare/listWelExcavateExcel.do";
form.submit();
- ๋ฌธ์ ๋:
- ํ ๋ฒ ๋ณ๊ฒฝ๋ form.action์ด ์ ์ง๋จ
- ์ดํ ๋ค๋ฅธ ๋ฒํผ ํด๋ฆญ ์์๋ ๋์ผํ action์ผ๋ก submit๋จ
๐ ์ฆ, form ์ํ ์ค์ผ(side effect) ๋ฐ์
๐ก ํด๊ฒฐ ์ ๋ต
โ ๊ธฐ์กด ๋ฐฉ์ (๋ฌธ์ ๋ฐ์ ๊ตฌ์กฐ)
- ํ๋์ form์ ๋ชจ๋ ๋ฒํผ์ด ๊ณต์
- ํน์ ๋ฒํผ์์ form ์์ฑ์ ๋ณ๊ฒฝ → ์ ์ฒด ๋์์ ์ํฅ
โ ๊ฐ์ ๋ฐฉ์ (ํต์ฌ ์์ด๋์ด)
์์ ๋ค์ด๋ก๋๋ง ๋ ๋ฆฝ์ ์ธ form์ผ๋ก ๋ถ๋ฆฌ (๋์ ์์ฑ)
- ๊ธฐ์กด form์ ์ ์ง
- ์์
๋ค์ด๋ก๋ ์์๋ง:
- ๊ธฐ์กด form ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌ
- ๋ณ๋์ form ์์ฑ ํ submit
๐ ๏ธ ๊ตฌํ ์ฝ๋
function listWelExcavateExcel(PageNo, searchCondition, keyword) {
if (!PageNo || PageNo < 1) PageNo = 1;
if (!searchCondition) searchCondition = "";
if (!keyword) keyword = "";
const sido_cd_id = document.querySelector('input[name=sido_cd_id]').value;
const sidogun_cd_id = document.querySelector('input[name=sidogun_cd_id]').value;
// ๊ธฐ์กด form ๋ฐ์ดํฐ ๋ณต์ฌ
const formData = new FormData(document.getElementById("searchFrm"));
formData.set("page", PageNo);
formData.set("searchKeyword", keyword);
formData.set("search_condition", searchCondition);
formData.set("sido_cd_id", sido_cd_id);
formData.set("sidogun_cd_id", sidogun_cd_id);
// ์์ form ์์ฑ
const tempForm = document.createElement("form");
tempForm.action = "/welfare/listWelExcavateExcel.do";
tempForm.method = "post";
tempForm.style.display = "none";
for (const [name, value] of formData.entries()) {
const input = document.createElement("input");
input.type = "hidden";
input.name = name;
input.value = value;
tempForm.appendChild(input);
}
document.body.appendChild(tempForm);
tempForm.submit();
document.body.removeChild(tempForm);
}
โ ๊ฒฐ๊ณผ
- ๊ธฐ์กด ๊ฒ์/์กฐํ ๋ฒํผ ์ ์ ๋์ ์ ์ง
- ์์ ๋ค์ด๋ก๋ ๋ฒํผ๋ง ๋ ๋ฆฝ์ ์ผ๋ก ๋์
- form ์ํ ์ค์ผ ๋ฌธ์ ์์ ํด๊ฒฐ
'์ผ > javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| JSP + JavaScript ํ๊ฒฝ์์ XSS ๋ฐฉ์ด ์คํจ ์์ธ๊ณผ ํด๊ฒฐ (0) | 2026.03.28 |
|---|---|
| ๋ชจ๋ฌ ํ์ ๋ด ๋์ ํ ์ด๋ธ UI ์ ๋ ฌ ๋ฌธ์ ํด๊ฒฐ (0) | 2026.03.22 |
| ์์ ๋ค์ด๋ก๋ ๊ธฐ๋ฅ ๊ตฌํ ๋ฐ ์์ ์ฑ ๊ฐ์ (0) | 2026.03.21 |
| js14_jQuery_ui (0) | 2023.06.19 |
| js13_effect (0) | 2023.06.01 |