form안에 버튼이 여러 개일 때, 특정 버튼 눌렀을 때만 제출하게 하기
1. 문제
이런 폼이 있다고 해보자. 이미지를 업로드하고 크롭을 한 다음 제출해야한다.
<!DOCTYPE html>
<html>
<body>
<form action="/req/submit" method="POST" >
...
<button id="crop">사진 크롭</button>
<button id="submit" type="submit" ></button></input>
</form>
</body>
</html>
그런데 사진 크롭 버튼을 누르면 그냥 제출되어버린다. 다음과같이 사진 크롭버튼을 밑으로 빼면?
<!DOCTYPE html>
<html>
<body>
<form action="/req/submit" method="POST" >
...
<button id="submit" type="submit" ></button></input>
</form>
<button id="crop">사진 크롭</button>
</body>
</html>
제출 버튼 밑에 사진 크롭버튼이 있어서 안 예쁘다.
2. 해결 방안
실제 제출버튼을 안보이게 숨기고, 페이크버튼과 크롭버튼을 form 바깥으로 뺀다.
페이크 버튼을 누르면 실제 제출 버튼이 눌리게 하면 된다.
<!DOCTYPE html>
<html>
<body>
<form action="/req/submit" method="POST" >
...
<button id="submit" type="submit" >진짜 제출 버튼</button>
</form>
<button id="crop">사진 크롭</button>
<button style="display:none;" onclick="submit();">가짜 제출 버튼</button>
<script>
function submit() {
document.getElementById("submit").click();
};
</script>
</body>
</html>
Author And Source
이 문제에 관하여(form안에 버튼이 여러 개일 때, 특정 버튼 눌렀을 때만 제출하게 하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sangeun-jo/form안에-버튼이-여러-개일-때-특정-버튼-눌렀을-때만-제출하게-하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)