HTML에서 폼(form)을 제출할 때 폼 데이터를 어디로 보낼지 지정하려면 formaction 속성을 사용하면 됩니다.
formaction 속성은 <form> 요소의 action 속성보다 우선적으로 적용됩니다. 이 속성은 제출 버튼(<button type="submit"> 또는 <input type="submit">)에 지정할 수 있으며, 하나의 폼 안에서도 버튼마다 서로 다른 처리 페이지로 데이터를 전송할 수 있다는 점이 큰 장점입니다.
예제
다음 코드를 실행하면 formaction 속성의 동작을 직접 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<title>HTML formaction attribute</title>
</head>
<body>
<form action = "/new1.php" method = "get">
Student name: <input type ="text" name = "name"><br>
Student Subject: <input type = "text" name = "subject"><br>
<button type = "submit">Submit</button><br>
<button type = "submit" formaction = "/new2.php">Another page</button>
</form>
</body>
</html>
위 예제에서 첫 번째 제출 버튼(Submit)을 클릭하면 폼의 기본 action 값인 /new1.php로 데이터가 전송됩니다. 반면 두 번째 버튼(Another page)에는 formaction 속성으로 /new2.php가 지정되어 있으므로, 해당 버튼을 클릭하면 폼 데이터가 /new2.php로 전송됩니다.
formaction 속성은 HTML5에서 새롭게 도입되었으며, GET 또는 POST 방식으로 데이터를 전송하는 method 속성과 함께 자주 사용됩니다. 로그인·검색·임시 저장 등 하나의 폼에서 목적에 따라 다른 서버 페이지로 요청을 보내야 할 때 유용하게 활용할 수 있습니다.