Form Submit 페이지 이동 방지
<!-- form.html -->
<!DOCTYPE html>
<html>
<head>
<script src="form.js" defer></script>
</head>
<body>
<h1>파일 업로드</h1>
<form id="file-form"
action="http://localhost:5000/upload"
method="POST"
enctype="multipart/form-data">
<input type="file" name='file' multiple />
<button id="file-submit" type="button">UPLOAD</button>
</form>
</body>
</html>
// form.js
const submit_form = document.querySelector("#file-form")
const submit_btn = document.querySelector('#file-submit')
submit_btn.addEventListener('click', function () {
submit_form.submit()
})
form 태그를 이용하여 파일을 전송하면 action 의 경로로 이동해 버린다.
페이지 이동없이, 단순히 파일만 action 의 경로로 전송하고 싶을 경우는 어떻게 해야할까?
form 의 target 속성을 이용하여 응답을 iframe 으로 보내버리면 된다.
form 의 target 과 iframe 의 name 을 일치시켜줘야 한다.
iframe 을 적용한 코드이다.
<!-- form.html -->
<!DOCTYPE html>
<html>
<head>
<script src="form.js" defer></script>
</head>
<body>
<h1>파일 업로드</h1>
<form id="file-form"
action="http://localhost:5000/upload"
method="POST"
enctype="multipart/form-data"
target='blankifr'>
<input type="file" name='file' multiple />
<button id="file-submit" type="button">UPLOAD</button>
</form>
</body>
<iframe name='blankifr' style='display:none;'></iframe>
</html>
// form.js
const submit_form = document.querySelector("#file-form")
const submit_btn = document.querySelector('#file-submit')
submit_btn.addEventListener('click', function () {
submit_form.submit()
})
Author And Source
이 문제에 관하여(Form Submit 페이지 이동 방지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@seung-sang/form-submit-not-move-page저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)