본문 바로가기

HTML & CSS/HTML & CSS(2024 version)

HTML(3) - form, input 태그 종류

728x90
반응형

<목차>

1) HTML 태그

   1-1) form 태그

   1-2) input 태그 종류

2) 예제

 

 

 

 

 

1) HTML 태그

 

 

home.html

<!-- cntl + / => 주석 -->

<!-- HTML의 버전 정보를 표시, 웹 문서임을 나타내는 정보 -->
<!DOCTYPE html>
<!-- HTML 문서의 시작을 알리는 부분, 사용할 언어 지정 -->
<html lang="kor">
  <!-- 브라우저에 정보를 주는 태그 -->
  <head>
    <!-- 문서의 문자 인코딩 지정 -->
    <meta charset="UTF-8" />
    <!-- 반응형 디자인을 지원하여 다양한 장치에서 페이지가 잘 보이도록 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <!-- 문서의 제목 -->
    <title>HOME</title>
    <!-- <script>, <style> -->
  </head>
  <!-- 브라우저에 실제로 표시되는 내용 -->
  <body>
    <!-- h1부터 h6까지 있으며, h 문자 뒤에 오는 숫자가 커질수록 글자 크기가 작아짐!! -->
    <h4>Welcome, HOME</h4>

    <!-- 
        <a>         : HTML 내에 링크를 생성하는 태그
        href 속성   : 링크로 이동할 URL을 지정
        target 속성 : 링크가 이동할 위치를 지정
            _self   : 링크를 현재 창이나 프레임에서 열기(기본값)
            _blank  : 링크를 새 탭이나 새 창에서 열기
            _parent : 링크를 현재 프레임의 부모 프레임에서 열기
            _top    : 링크를 최상위 프레임에서 열기
     -->

    <ul>
      <li>
        <a href="https://naver.com" target="_blank">네이버</a>
      </li>
      <li>
        <a href="https://daum.net" target="_parent">다음</a>
      </li>
      <li>
        <a href="https://google.com" target="_top">구글</a>
      </li>
    </ul>

    <!-- hr 태그는 구분선을 생성해주며, 단독으로 사용되는 태그이다 -->
    <hr />

    <!-- ul 태그 : 순서가 없는 목록을 생성할 때 사용하는 태그 -->
    <ul>
      <li>
        <a href="./0.route/route.html">경로</a>
      </li>
      <li>
        <a href="./1.image/image.html">이미지</a>
      </li>
      <li>
        <a href="./2.text/text1.html">문단, 텍스트 서식</a>
      </li>
      <li>
        <a href="./2.text/text2.html">목록 만들기</a>
      </li>
      <li>
        <a href="./3.table/table.html">테이블</a>
      </li>
      <li>
        <a href="./4.form/form.html">폼</a>
      </li>
      <li>
        <a href="./4.form/form2.html">Input 태그 종류</a>
      </li>
    </ul>
  </body>
</html>

 

 

 

1-1) form 태그

form.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Form 예제</title>
  </head>
  <body>
    <!-- 
        <form> ... </form> 태그의 속성
        action : <form> 태그 안의 내용을 전송할 서버의 주소
        method : 사용자가 입력한 내용을 서버에 전송하는
                 방식을 지정
            (HTTP 프로토콜을 통해 데이터를 전송하는 두 방법)
            GET : 데이터를 URL 쿼리스트링으로 전송.
                  주소 표시줄에 사용자가 입력한 내용이 그대로
                  노출되기 때문에 주로 데이터를 조회할 때 사용.
                  최대 4096byte까지의 데이터를 전송.
            POST : HTTP 메시지의 본문(body)에 데이터를 포함하여
                   전송한다. 입력 내용의 길이 제한이 없으며,
                   사용자가 입력한 내용이 주소창에 노출되지 않는다.
                   주로 로그인, 폼 데이터 제출, 데이터베이스 갱신
                   작업에 사용한다.
        enctype : 폼 데이터의 인코딩 방식을 지정한다.
                  파일 업로드 시 multipart/form-data로 설정해야 한다.

        <fieldset>과 <legend> : 폼 요소를 그룹화하고 그룹의 제목을 지정한다.
     -->

    <form action="" method="post">
      <fieldset>
        <legend>회원 정보</legend>
        <label for="id">아이디: </label>
        <input type="text" name="id" id="id" class="cid" value="hong" /><br />
        <label for="pw">패스워드: </label>
        <input type="password" name="pw" id="pw" class="cid" /><br /><br />
        <input type="submit" value="로그인" />
        <input type="reset" value="취소" />
      </fieldset>
    </form>
  </body>
</html>

 

 

 

1-2) input 태그 종류

form2.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Input 태그 종류</title>
    <script>
      function button() {
        alert("버튼버튼");
      }
    </script>
  </head>
  <body>
    <form action="" method="get">
      <fieldset>
        <legend>분류 1</legend>
        입력란
        <!-- placeholder : 해당 태그의 폼에 데이터를 입력하기 전에 미리 해당 문자가 보여지도록 하는 속성 -->
        <!-- readonly : 해당 태그에는 데이터를 입력할 수 없도록 하는 속성 -->
        <input type="text" placeholder="id를 입력하세요" readonly /><br />
        <!-- required : 해당 태그에 반드시 데이터가 입력되어야 submit되도록 하는 필수 작성요소를 지정하는 속성 -->
        * 비밀번호 입력란 <input type="password" required /><br />
        <!-- type="url" : url인지 아닌지를 검사하는 속성 -->
        URL <input type="url" /><br />
        Email 입력란 <input type="email" /><br />
        숫자 입력란 <input type="number" /><br />
        전화번호 입력란 <input type="tel" /><br />
        검색
        <input
          type="search"
          placeholder="검색어를 입력하세요."
          size="40"
        /><br />
        색상 <input type="color" /><br />
        범위 <input type="range" value="0" max="10" /><br />
        날짜 <input type="date" /><br />
        날짜 시간 <input type="datetime-local" /><br />
        월 <input type="month" /><br />
        주 <input type="week" /><br />
        시간 <input type="time" /><br />
        파일 <input type="file" /><br />
        이미지 <input type="image" src="../1.image/file/htmlLogo.png" /><br />
      </fieldset>

      <fieldset>
        <legend>분류 2</legend>
        히든 <input type="hidden" name="hidden" value="30" /><br />

        체크박스 <input type="checkbox" name="checkbox" value="사과" />사과
        <input type="checkbox" name="checkbox" value="바나나" checked />바나나
        <input type="checkbox" name="checkbox" value="포도" />포도
        <br />
        라디오 <input type="radio" name="radio" value="SKT" />SKT
        <input type="radio" name="radio" value="KT" />KT
        <input type="radio" name="radio" value="LG" />LG
        <br />
        셀렉트
        <select name="select" size="1" multiple>
          <option value="1">선택1</option>
          <option value="2" selected>선택2</option>
          <option value="3">선택3</option>
        </select>
        <br />
        여러줄 입력란
        <textarea cols="30" rows="10"></textarea>
        <br />
        <!-- onclick : 클릭 이벤트가 발생했을 때 해당하는 자바스크립트 함수를 실행시켜주는 속성 -->
        버튼 <input type="button" value="버튼" onclick="button();" /><br />
        버튼2
        <input
          type="button"
          value="home"
          onclick="location.href='../home.html'"
        />
        <br />
        버튼3 <button type="button" onclick="alert('ㅋㅋㅋㅋㅋ')">버튼3</button>
      </fieldset>

      <input type="submit" value="전송하기" />
      <input type="reset" value="취소하기" />
    </form>
  </body>
</html>

 

 

 

 

2) 예제

form_ex.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Form 연습 예제</title>
    <style>
      form {
        width: 100%;
      }
      form > div {
        margin: 0 auto;
        width: 260px;
        text-align: center;
      }
      fieldset {
        margin: 0 auto;
        width: 260px;
        border-radius: 10px 10px;
      }
      fieldset > legend {
        margin: 0 auto;
      }
      fieldset > input {
        border-radius: 10px 10px;
      }
    </style>
  </head>
  <body>
    <form action="" method="get">
      <fieldset>
        <legend>회원정보</legend>
        <label for="m_id">아이디: </label><br />
        <input
          type="text"
          name="id"
          id="m_id"
          value="hong"
          style="width: 250px"
        /><br />
        <label for="m_pw">비밀번호: </label><br />
        <input
          type="password"
          name="password"
          id="m_pw"
          style="width: 250px"
        /><br />
        <label for="m_email">이메일: </label><br />
        <input
          type="email"
          name="email"
          id="m_email"
          placeholder="이메일 형식을 지켜서 입력해주세요!"
          style="width: 250px"
        /><br />
        <label for="m_name">이름: </label><br />
        <input type="text" name="name" id="m_name" style="width: 250px" /><br />
        <label for="m_birth">생년월일: </label><br />
        <input type="date" name="birth" id="m_birth" style="width: 250px" />
        <br />
        <label for="man">남성</label>
        <input
          type="radio"
          name="gender"
          id="man"
          class="gender"
          value="남성"
          checked
        />
        <label for="woman">여성</label>
        <input
          type="radio"
          name="gender"
          id="woman"
          class="gender"
          value="여성"
        />
        <br />
        <label for="m_phoneNumber">전화번호: </label><br />
        <input
          type="tel"
          name="phoneNumber"
          id="m_phoneNumber"
          placeholder="-를 빼고 입력해주세요."
          style="width: 250px"
        />
      </fieldset>
      <fieldset>
        <legend>과목</legend>
        <label for="html">HTML</label>
        <input
          type="checkbox"
          name="subject"
          id="html"
          class="subject"
          value="HTML"
        />
        <label for="css">CSS</label>
        <input
          type="checkbox"
          name="subject"
          id="css"
          class="subject"
          value="CSS"
          checked
        />
        <label for="JavaScript">JavaScript</label>
        <input
          type="checkbox"
          name="subject"
          id="JavaScript"
          class="subject"
          value="JavaScript"
        />
        <br />
        <br />
        <label for="top">상</label>
        <input type="radio" name="grade" id="top" class="level" value="상" />
        <label for="middle">중</label>
        <input type="radio" name="grade" id="middle" class="level" value="중" />
        <label for="bottom">하</label>
        <input type="radio" name="grade" id="bottom" class="level" value="하" />
        <br />
        <br />
        <p id="req">요청사항</p>
        <textarea name="request" id="reqWord" cols="30" rows="10"></textarea>
      </fieldset>

      <div>
        <input type="submit" value="전송하기" />
        <input type="reset" value="취소하기" />
      </div>
    </form>
  </body>
</html>

 

 

 

 

※ 위의 input 값 입력에 따른 쿼리 스트링(서버 측에 전송되는 데이터의 형식) 결과

- 이 경우, form 태그의 method 속성값은 "get"이다!!