본문 바로가기
Frontend/HTML

HTML 웹 페이지를 통해 사용자 입력을 받는 폼을 만들어 보자

by 코딩쥐 2024. 6. 29.

 HTML에서는 폼을 만들기 위한 다양한 태그들을 제공한다. 폼의 경우 로그인, 등록, 검색, 예약, 쇼핑 등의 다양한 웹 서비스에서 사용자의 입력을 받기 위해 사용된다. 

 

<form>태그 기본 형식

  • <form name="" action="" method=""></form>
    name 속성은 폼의 이름을 지정하는 것으로 자바스크립트에서 사용되며, action속성은 폼 데이터를 처리할 목적지를 지정한다. method속성은 폼 데이터를 웹 서버로 전송하는 형식을 설정하는데 삭제(delete), 추가(post, put), 변경(patch), 색인(get) 등의 속성이 있으나 대표적인 방식은 get 과 post 이다. get의 경우 url의 마지막에 정보가 작성이 되며, 개방적이기 때문에 주의 해야한다. post의 경우에는 get보다 담을 수 있는 데이터 용량이 크다. post의 경우 무거운 파일을 전송할 때 사용한다. 

<form>의 요소

 폼 요소들은 <form> 태그 없이 사용할 수도 있으나 이런 경우는 주로 웹 서버에 전송하지 않고 자바스크립트 코드에서 사용자의 입력을 받는 목적으로만 사용한다. 사용자의 입력을 받는 목적이라면 <form>태그를 필요로 한다. 

폼 요소 설명
<input type="text"> 한 줄 텍스트 입력 창
<input type="password"> 암호 입력을 위한 한줄 텍스트 입력 창 (입력 시 보이지 않게 입력됨)
<input type="checkbox"> 체크박스
<input type="radio"> 라디오박스
<select> 드롭다운 리스트를 가진 콤보박스
<input type="month|week|date|time|datetime-local"> 년, 월, 일, 시간 등의 시간 정보 입력 창
<input type="number|range"> 스핀 버튼과 슬라이드바로 편리한 숫자 입력 창
<input type="color"> 색 입력을 쉽게 하는 컬러 다이얼로그
<input type="email|url|tel|search"> 이메일, url, 전화번호, 검색키워드 등 형식 검사 기능을 가진 텍스트 입력 창
<input type="file"> 로컬 컴퓨터의 파일을 선택하는 폼 요소
<textarea> 여러 줄의 텍스트 입력 창
<input type="hidden"> 서버형 데이터를 전달하기 위해서 사용함, 사용자가 데이터를 수정하지 못하도록 하기 위해서 사용함.

출처 : HTML5+CSS3+Javascript 웹 프로그래밍, 황기태

 

아이디랑 비밀번호를 입력 받는 폼 예제

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="postjoin.html" method="get">
        <label for="id">ID</label> <input type="text" name="id" id="id"><br>
        <label for="pw">PW</label> <input type="password" name="pw" id="pw"><br>
        <button type="submit">가입하기</button> <button type="reset">취소하기</button>
    </form>
</body>
</html>

 ID와 PW을 적은 다음 취소하기를 누르면 내용이 전부 삭제되는 모습이 보이고, 가입하기를 누르면 url 창에 ID와 PW가 전달되는 모습을 볼 수 있다.