You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
서버는 사용자의 요청을 분석한 후 데이터를 등록하거나 원하는 데이터를 조죄하여 결과를 다시 반환
사용되는 태그는 다음과 같음
<form> : 사용자에게 입력받을 항목을 정의. form 태그 내부에 여러 개의 control 요소를 포함
<input> : 텍스트 box, 체크 box, 라디오 버튼 등 사용자가 데이터를 입력할 수 있도록 함
<textarea> : 여러 줄의 문자를 입력할 수 있도록 함
<button> : 버튼 표시
<select> : select box(drop down, combo box)를 표시
<optgroup> : select box의 각 항목들을 그룹화 함
<option> : select box의 각 항목들을 정의
<label> : 마우스를 이용하여 input 항목을 연결
<field> : 입력 항목들을 그룹화
<legent> : fieldset의 제목을 지정
form의 속성은 다음과 같음
method : 사용자가 입력한 내용을 서버쪽 프로그램으로 어떻게 넘겨줄지 지정
name : form의 이름을 지정. 한 문서 안에 여러개의 form 태그가 있을 경우 구분자로 사용
action : form 태그 안의 내용들을 처리해 줄 서버상의 프로그램 지정 (URL)
target : action 태그에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에 열도록 지정
autocomplete : 자동 완성 기능. 기본값 on
form method
사용자가 입력한 내용을 서버 쪽 프로그램으로 어떻게 넘겨줄지 지정
속성 값은 GET, POST 존재
GET : 주소 표시줄에 사용자가 입력한 내용 표시
POST : HTTP 메세지의 Body에 담아서 전송. 사용자가 입력한 내용이 표시되지 않음
form id & name
각 'id'는 특정 HTML 요소를 고유하게 식별하기 위해 사용
주로 CSS나 스크립틍서 특정 요소를 참조할 때 주로 사용
'name'은 폼 요소 내에서 데이터를 서버로 전송할 때, 또는 폼 데이터를 식별하기 위해 사용됨
같은 이름을 가진 폼 요소가 있을 수 있음
서버로 전송된 폼 데이터의 키로 사용됨
<!-- { 해당 데이터에서의 key가 form에서의 name "username": "myname", "password": "securepassword123"} --><form><inputtype="text" name="username" placeholder="Enter your username"><inputtype="password" name="password" placeholder="Enter your password"><buttontype="submit">Submit</button></form>
HTML input form type 속성
text : 한 줄의 텍스트를 입력할 수 있는 텍스트 상자
password : 비밀번호를 입력할 수 있는 필드
search : 검색 상자
tel : 전화번호를 입력할 수 있는 필드
url : URL 주소를 입력할 수 있는 필드
email : 메일 주소를 입력할 수 있는 필드
datetime : 국제 표준시로 설정된 날짜와 시간
datetime_local : 사용자 지역을 기준으로 날짜와 시간
date : 사용자 지역을 기준으로 날짜
month : 사용자 지역을 기준으로 날짜
week : 사용자 지역을 기준으로 날짜
time : 사용자 지역을 기준으로 시간
number : 숫자를 조절할 수 있는 화살표
color : 숫자를 조절할 수 있는 슬라이드 막대
checkbox : 주어진 항목에서 2개 이상 선택가능한 체크 박스 (다중 선택)
radio : 주어진 항목에서 1개만 선택할 수 있는 라디오 버튼
file : 파일을 첨부할 수 있는 버튼
submit : 서버 전송 버튼
image : submit + img
reset : 리셋 버튼
button : 기능이 없는 버튼
hidden : 사용자에게는 보이지 않지만 서버로 넘겨지는 값을 설정
input 속성
placeholder : 텍스트를 입력할 때 도움이 되도록 입력란에 적당한 힌트 내용을 표시
readOnly : 입력란에 텍스트를 사용자가 직접 입력하지 못하게 읽기 전용으로 지정
autofocus : 페이지 로딩 후 폼의 요소 중에서 해당 요소에 마우스 커서를 표시
required : submit 클릭 시 data를 서버로 전송하기 전 필수 입력 항목을 체크
list : <datalist>에 미리 정의해 놓은 옵션 값을 <input> 안에 나열해서 보여줌
multiple : 두 개 이상의 값을 입력
사용자 입력을 위한 textfield input 속성
name 속성 : 필드를 구별할 수 있는 이름
size 속성 : textfield 길이를 지정. 화면에 몇 글자가 보이도록 할 것인지를 지정 (글자수 제한 X)
value 속성 : textfield가 화면에 보일 때 textfield 부분에 표시될 내용
maxlength 속성 : textfield에 입력할 수 있는 최대 문자수를 지정
size는 화면에 몇 글자가 보이는지 조절, maxlength는 텍스트 필드에 입력할 수 있는 최대 문자수를 지정
사용자 입력을 위한 number, range 속성
min 속성 : 필드에 입력할 수 있는 최소값을 지정
range 기본 최소값은 0
max : 필드에 입력할 수 있는 최대값을 지정
range 기본 최대값은 100
step : 짝수나 홀수 등 특정 숫자로 제한하려 할 때 숫자 간격을 지정. 기본값은 1
value : 페이지 로딩 시 필드에 표시할 초기값
사용자 입력을 위한 checkbox, radio 속성
checked 속성은 여러 개의 항목 중 선택된 항목을 표시
checked="checked"
radio 버튼은 name 속성 값이 모두 일치해야함
check box는 name 속성과 상관없이 다중 선택이 가능
input button
type="reset"은 input 요소에 입력한 모든 정보를 초기화
type="submit"은 사용자가 입력한 form의 정보를 서버로 전송
type="button"은 자체 기능은 없고 스크립트 함수와 연결해 사용
input button type vs button tag
- input button 은 기본 동작이 정의 되어 있지 않음
- button tag는 기본은 type="submit"으로 동작
- 해당 태그 모두 type 속성을 통해 'reset', 'submit', 'button' 으로 지정 가능
- input button과 button의 차이로 button 태그는 contents를 포함할 수 있어 아이콘을 추가할 수 있고 CSS를 이용하여 원하는 형태로 꾸밀 수 있음
<form><inputtype="text" name="username" placeholder="Enter your username"><inputtype="submit" value="Submit"><inputtype="reset" value="Reset"><inputtype="button" value="Click Me" onclick="alert('Button clicked!')"></form><form><inputtype="text" name="username" placeholder="Enter your username"><buttontype="submit">Submit</button><buttontype="reset">Reset</button><buttontype="button" onclick="alert('Button clicked!')"><imgsrc="icon.png" alt="Icon"> Click Me
</button></form>
select 데이터 나열
select 태그는 select box(dropdown)를 표시
사용자가 미리 정의된 옵션 중 하나를 선택할 수 있는 드롭 다운 메뉴를 만듬
option 태그는 select box에 포함될 항목들을 정의
selected 속성은 여러 개의 항목 중 선택된 항목을 표시
value 속성은 각 항목 값을 지정하기 위해 사용
<form><labelfor="fruits">Choose a fruit:</label><selectid="fruits" name="fruits"><optgrouplabel="Citrus Fruits"><optionvalue="orange">Orange</option><optionvalue="lemon">Lemon</option><optionvalue="lime">Lime</option></optgroup><optgrouplabel="Other Fruits"><optionvalue="apple">Apple</option><optionvalue="banana" selected>Banana</option><optionvalue="cherry">Cherry</option><optionvalue="date">Date</option><optionvalue="elderberry">Elderberry</option></optgroup></select></form>
datalist 데이터 나열
datalist 태그는 <input> 과 함께 사용하며 텍스트 필드에 직접 값을 입력하는 것이 아니라 datalist의 선택 값이 텍스트 필드에 입력됨
사용자가 텍스트 입력 필드에서 선택 가능한 옵션 목록을 제공
미리 정의된 옵션을 제안하면서 사용자가 자유롭게 값을 입력할 수 있게 함
텍스트 입력 필드와 함께 자동 완성 기능을 제안
label은 사용자를 위해 브라우저에 표시할 레이블로 따로 지정하지 않으면 value 값을 레이블로 사용
<form><labelfor="fruitInput">Choose a fruit:</label><inputlist="fruits" id="fruitInput" name="fruit"><datalistid="fruits"><optionvalue="Apple" label="사과"><optionvalue="Banana" label="바나나"><optionvalue="Cherry" label="체리"></datalist></form>
textarea 여러줄 입력
textarea 태그는 여러 줄을 입력할 수 있는 box를 표시
textarea 태그 안의 문자열 표시
cols와 rows 속성은 text box 크기를 지정
disabled 속성은 화면에 표시는 하되 데이터를 수정할 수 없도록 비활성화 상태로 표시
공간 분할 태그
HTML Elements는 크게 block 형식 elements와 inline 형식 element로 나뉨
block 형식 element는 사용하는 element가 한 줄을 모두 사용
inline 형식 element는 contents의 크기만큼만 공간을 사용
해당 형식의 태그 구분은 다음과 같음
block 형식
inline 형식
div
span
h1~h6
a
p
input
ol, ul
b, strong, i, em
table
img
form
Semantic
'의미론적인', '의미가 통하는' 이라는 뜻의 사전적의미
브라우저, 검색엔진, 개발자 모두에게 콘텐츠의 의미를 명확히 설명하는 역할
sementic web이란 웹에 존재하는 수많은 웹 페이지의 메타데이터를 부여하며
검색 로봇 또는 스크린 리더 등의 기계가 쉽게 해석하고 분석할 수 있도록 만들어진 태그
HTML5 에서 웹문서 레이아웃을 표준화하는 semantic tag 등장
Semantic 요소 tag
haeder : 헤더 지정
nav : 문서간의 네비게이션 지정
aside : 본문 이외의 내용 표시
section : 본문의 여러 내용들(article) 포함
acrticle : 본문의 주 내용이 포함
footer : 제작정보와 저작권 표시 등 포함
<!-- 기존 표현 --><divid ="header">
...
</div><divid="nav">
...
</div><divid="section"><divid="articale"></div><divid="articale"></div><divid="articale"></div></div><!-- 시멘틱 element --><header>
...
</header><nav>
...
</nav><section><article></article><article></article><article></article></section>