웹페이지

HTML STEP 11 - FORM

2023. 4. 12. 10:40
728x90

★ Form

  • 입력 양식, 입력 컨트롤
  • 클라이언트(사용자)로부터 입력장치(키보드,마우스 등)를 통해서 데이터를 입력
  • 입력 데이터 > 서버로 전송!! > 업무 활용 or DB저장 등..
  • <form>
    • 모든 입력 컨트롤을 감싸는 컨테이너
    • 입력값을 서버로 전송하는 역할
  • 1. form.method
    • 데이터를 전송하는 방식
    • 1. get
      • 전송되는 데이터를 URL에 붙여서 전송하는 방식
      • 편법
      • 전송되는 데이터가 노출(주소창) > 보안 X
      • http://localhost:8090/client/html/ex19.jsp?data=java
      • 노출되면 안되는 데이터 절대로 get으로 전송 금지!!
      • URL(최대 256자) > Overflow > 짤림 > 대량의 데이터 전송금지(655535바이트)
    • 2. post
      • 전송되는 데이터를 패킷안에 넣어서 전송하는 방식
      • FM
      •  http://localhost:8090/client/html/ex19.jsp
      • 데이터가 외부로 노출 안됨 > 보안 O
      • 전송 길이 무제한
  • 2. form.action
    • 데이터를 수신하는 서버측 주소(URL)
    • 데이터를 수신할 능력이 있는 프로그램의 주소

 

■ 사용 ex)

  • html 소스코드
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <h1>데이터 입력</h1>
    <form  method="get" action="ex19.jsp">
        <input type="text" name="data">
        <input type="submit" value="전송하기">
    </form>
    
</body>
</html>
  • jsp 소스코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>서버측 수신 페이지(택배 수신인)</h1>
    <%
        String data = request.getParameter("data");
    %>
    
    <p>데이터 : <%= data %></p>
</body>
</html>
  • 실행결과

첫 화면
전송 후 실행 결과

 

★ 폼 컨트롤

  • <input> 태그
    • 인라인 태그
    • 단독 태그
    • input.type : 입력 컨트롤의 종류
    • input.name : 식별자, HTML에서 사용
    • input.id : 식별자, CSS/JavaScript에서 사용
    • input.class : 식별자, CSS/JavaScript에서 사용
    • input.size : 길이(문자 개수)
    • input.maxlength : 최대 입력 길이(문자수)
    • input.value : 컨트롤의 입력값(현재 입력값)
    • input.readonly : 읽기 전용(전원 ON) > 서버로 전송 가능
    • input.diabled : 비활성화 (전원 OFF) > 서버로 전송 불가능
    • input.accesskey : 포커스로 바로가기 이동
    • input.autofocus : 자동 포커스
    • input.autocomplete : 자동완성 기능 
    • 사용 ex)
<form>

        텍스트박스(단일라인) : Alt + S
        <input type="text" name="address" id="txt1" class="txt" size="20" accesskey="s" autofocus autocomplete="off">

</form>

 

  • 암호 상자
    • 모든 속성이 텍스트 박스와 동일
    • value 속성은 사용 금지 > 항상 새로 입력받게 만든다.
    • 사용 ex)
텍스트박스(암호):
<input type="password">

 

  • 텍스트 박스(다중라인)
    • 다중라인 입력
    • 쌍태그
    • 대부분의 속성은 텍스트 박스와 동일 
    • value 속성이 없다.
    • 영역 > 일반 문서 영역x, 컨트롤 영역o > 편집기의 공백이 그대로 적용
    • 사용 ex)
텍스트박스(다중라인):
<textarea cols="50" rows="5">안녕하세요.</textare>

 

  • 체크 박스
    • 논리값 입력
    • 사용 ex)
    • label 태그 > 글자를 선택해도 선택가능
    • checked > 사용자가 체크를 안해도 체크가 된 상태에서 사용
체크박스 :
<input type="checkbox">

<h2>취미 선택</h2>

<input type="checkbox"> 독서
<input type="checkbox"> 수영
<input type="checkbox"> 영화

<input type="checkbox" id="cb1"> <label for="cb1">독서</label>
<label><input type="checkbox"> 수영 </label>
<input type="checkbox" checked> 영화

 

  • 라디오 버튼
    • 반드시 2개 이상 함께 사용
    • 사용 ex)
<input type="radio"> 남자
<input type="rddio"> 여자

 

  • 셀렉트 박스
    • 콤보박스, 드랍 다운 리스트
    • 사용 ex)
셀렉트 박스 :
<select>
    <option>강아지</option>
    <option>고양이</option>
    <option>병아리</option>
</select>

셀렉트 박스2:
<select>
    <optgroup label="자바">
        <option>클래스</option>
        <option>메소드</option>
        <option>배열</option>
    </optgroup>

    <optgroup label="오라클">
        <option>테이블</option>
        <option>프로시저</option>
        <option>조인</option>
        <option>서브쿼리</option>
    </optgroup>

    <optgroup label="HTML">
        <option>▣▣▣ HTML ▣▣▣</option>
        <option>head태그</option>
        <option>body태그</option>
    </optgroup>
</select>

 

  •  파일 업로드
    • 첨부 파일
    • Open Dialog Box 호출하는 역할
    • 사용 ex)
파일 선택:
<input type="file">

 

  • 히든태그
    • 눈에 보이지 않는 태그
    • 개발자용
    • 사용자가 모르게 서버로 데이터를 전송하는 역할
    • 사용 ex)
히든 태그:
<input type="hidden" name="id" value="hong">

 

  • 버튼들
  • 1. 전송 버튼 : submit
<input type="submit" value="보내기">
  • 2. 취소 버튼 : reset
취소버튼 : <input type="reset" value="초기화">
  • 3. 일반 버튼 : button
일반버튼 : <input type="button" value="일반 버튼" onclick="alert('안녕하세요!!')">
  • 4. 전송 버튼2  : <button type="submit">
전송버튼 : <button type="submit">보내기</button>
  • 5. 취소 버튼2 : <button type="reset">
취소버튼 : <button type="reset">초기화</button>
  • 6.일반 버튼2 : <button type="button>
일반버튼 : <button type="button">일반버튼</button>
  • 1과 2가 다른점
  • 디자인 기능이 보강된 버튼
버전 1
<input type="submit" value="<img src=''> 보내기">
버전2
<button type="button">
<img src="images/bullet01.png">
보내기
</button>
728x90
저작자표시 비영리 변경금지 (새창열림)

'웹페이지' 카테고리의 다른 글

HTML STEP 13 - HTML5  (0) 2023.04.12
HTML STEP 12 - Table 예제  (2) 2023.04.12
HTML STEP 10 - HTML 기초 예제문제  (0) 2023.04.11
HTML STEP 9 - TABLE  (0) 2023.04.11
HTML STEP 8 - TAG  (0) 2023.04.11
'웹페이지' 카테고리의 다른 글
  • HTML STEP 13 - HTML5
  • HTML STEP 12 - Table 예제
  • HTML STEP 10 - HTML 기초 예제문제
  • HTML STEP 9 - TABLE
IT의 큰손
IT의 큰손
IT계의 큰손이 되고 싶은 개린이의 Log 일지
Developer Story HouseIT계의 큰손이 되고 싶은 개린이의 Log 일지
IT의 큰손
Developer Story House
IT의 큰손
전체
오늘
어제
  • 분류 전체보기 (457)
    • 정보처리기사 필기 (18)
    • 정보처리기사 실기 (12)
    • 정보처리기사 통합 QUIZ (12)
    • 빅데이터 (11)
    • 안드로이드 (11)
    • 웹페이지 (108)
    • 자바 (49)
    • SQLD (3)
    • 백준 알고리즘 (76)
    • 데이터베이스 (41)
    • 깃허브 (2)
    • Library (14)
    • Server (31)
    • 크롤링&스크래핑 (3)
    • Spring (23)
    • Vue.js (13)
    • React (27)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Developer Stroy House

인기 글

태그

  • 알고리즘
  • html
  • 웹페이지
  • 개발자
  • 앱개발자
  • 웹개발
  • DBA
  • jsp
  • DB
  • IT자격증
  • 데이터베이스
  • JavaScript
  • 프론트엔드
  • it
  • 백준
  • React
  • 정보보안전문가
  • IT자격증공부
  • 백엔드
  • css
  • 웹개발자
  • 정보처리기사필기
  • 개발블로그
  • 코딩테스트
  • ajax
  • 정보처리기사
  • 자바
  • IT개발자
  • jquery
  • java

최근 댓글

최근 글

Designed By hELLO
IT의 큰손
HTML STEP 11 - FORM
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.