이런 폼이 있다고 해보자. 이미지를 업로드하고 크롭을 한 다음 제출해야한다.
<!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>
제출 버튼 밑에 사진 크롭버튼이 있어서 안 예쁘다.
실제 제출버튼을 안보이게 숨기고, 페이크버튼과 크롭버튼을 form 바깥으로 뺀다.
페이크 버튼을 누르면 실제 제출 버튼이 눌리게 하면 된다.
<!DOCTYPE html>
<html>
<body>
<form action="/req/submit" method="POST" >
...
<button style="display:none;" id="submit" type="submit" >진짜 제출 버튼</button>
</form>
<button id="crop">사진 크롭</button>
<button onclick="submit();">가짜 제출 버튼</button>
<script>
function submit() {
document.getElementById("submit").click();
};
</script>
</body>
</html>
button 태그(사진크롭)를 input 태그로 바꾸고 onclick이벤트를 할당한다..
<input onclick="function()">