Web/html

HTML5 요소 - Input 요소

mr.팡 2025. 2. 4. 08:00

웹 개발에서 HTML의 input 요소는 사용자로부터 다양한 형태의 데이터를 입력받는 데 필수적인 역할을 합니다. 특히, HTML5부터는 새로운 입력 유형이 추가되어 더욱 유연하고 강력한 사용자 경험을 제공할 수 있게 되었습니다.

이번 글에서는 HTML에서 제공하는 다양한 input 요소의 타입과 그 기능을 소개하고, HTML5에서 추가된 주요 요소까지 살펴보겠습니다.

HTML에서 기본적으로 제공하는 input 요소 타입

다양한 입력 유형을 지원하는 HTML의 input 요소를 활용하면 사용자의 입력을 효율적으로 처리할 수 있습니다. 대표적인 input 타입은 다음과 같습니다.

1. 텍스트 입력 (text)

사용자가 일반적인 텍스트를 입력할 수 있는 필드입니다.

<input type="text" name="username" placeholder="이름을 입력하세요">

2. 비밀번호 입력 (password)

입력된 문자가 마스킹(****) 처리되는 입력 필드입니다.

<input type="password" name="password" placeholder="비밀번호 입력">

3. 라디오 버튼 (radio)

사용자가 하나의 옵션만 선택할 수 있도록 하는 요소입니다.

<input type="radio" name="gender" value="male"> 남성
<input type="radio" name="gender" value="female"> 여성

4. 체크박스 (checkbox)

사용자가 여러 개의 옵션을 선택할 수 있도록 하는 요소입니다.

<input type="checkbox" name="hobby" value="reading"> 독서
<input type="checkbox" name="hobby" value="traveling"> 여행

5. 파일 업로드 (file)

사용자가 파일을 업로드할 수 있는 입력 필드입니다.

<input type="file" name="upload">

6. 선택 입력 (select)

사용자가 미리 정의된 옵션에서 하나를 선택할 수 있는 드롭다운 리스트입니다.

<select name="subject">
    <option value="html">HTML</option>
    <option value="css">CSS</option>
    <option value="javascript">JavaScript</option>
</select>

 

 

7. 텍스트 영역 (textarea)

여러 줄의 문장을 입력할 수 있는 요소입니다.

<textarea name="message" rows="5" cols="30" placeholder="메시지를 입력하세요"></textarea>

8. 일반 버튼 (button)

클릭할 수 있는 버튼을 생성하는 요소입니다.

<button type="button">클릭하세요</button>

9. 전송 버튼 (submit)

폼 데이터를 서버로 전송하는 버튼입니다.

<input type="submit" value="전송">

10. 필드셋 (fieldset)

입력 필드들을 그룹화하여 논리적인 구조를 만들 수 있는 요소입니다.

<fieldset>
    <legend>개인 정보</legend>
    <label>이름: <input type="text" name="name"></label>
</fieldset>

HTML5에서 추가된 새로운 input 요소

HTML5에서는 더욱 다양한 입력 방식을 지원하기 위해 새로운 input 요소가 추가되었습니다.

1. datalist 요소 (자동완성 입력)

datalist 요소는 input 요소와 함께 사용되며, 사용자가 입력하는 동안 미리 정의된 옵션을 보여줍니다. 사용자는 직접 입력하거나, 제공된 옵션을 선택할 수도 있습니다.

<form>
    <input list="programming-languages" name="language">
    <datalist id="programming-languages">
        <option value="HTML">
        <option value="CSS">
        <option value="JavaScript">
        <option value="Python">
    </datalist>
    <input type="submit" value="전송">
</form>

 

주의사항

datalist 요소는 일부 브라우저(구버전 Safari, Internet Explorer 9 이하)에서 지원되지 않습니다.

2. keygen 요소 (보안 키 생성) (지원 종료됨)

keygen 요소는 보안이 필요한 환경에서 사용자의 암호화를 돕는 역할을 했지만, 현재는 대부분의 브라우저에서 지원이 종료되었습니다.

<form>
    사용자: <input type="text" name="username"><br>
    보안 키: <keygen name="security">
</form>

 

주의사항

keygen 요소는 현재 대부분의 최신 브라우저에서 지원되지 않으며, 보안 인증을 위해 keygen 대신 JavaScript 기반의 암호화 방식을 사용하는 것이 추천됩니다.

3. output 요소 (계산 결과 출력)

output 요소는 계산된 값을 실시간으로 표시하는 데 사용됩니다. 주로 JavaScript와 함께 활용됩니다.

<form oninput="result.value=parseInt(num1.value)/parseInt(num2.value)">
    <input type="number" id="num1" name="num1" value="20"> /
    <input type="range" id="num2" name="num2" value="50" min="1" max="100"> =
    <output name="result"></output>
</form>

 

주의사항

output 요소는 Internet Explorer에서 지원되지 않습니다.

 

기본 입력 필드는 text, password, checkbox, radio, file 등 다양하게 사용 가능
폼의 가독성을 높이고 사용자 편의성을 고려하려면 fieldset과 label을 적절히 활용
HTML5 기능을 적극 활용하면 더 직관적인 사용자 입력 인터페이스 제공 가능

이제 다양한 input 요소를 활용하여 사용자 친화적인 웹 폼을 만들어 보세요!

'Web > html' 카테고리의 다른 글

HTML5 요소 - Input 요소의 속성  (0) 2025.02.05
HTML5 요소 - Input 요소의 타입  (1) 2025.02.04
HTML5 요소 - 의미 요소  (1) 2025.02.03
HTML5 - 추가요소  (1) 2025.02.03
HTML5 - 변경사항  (2) 2025.02.02