HTML

HTML 다양한 입력 양식

기련이 2020. 5. 13. 16:32

영어와 한글의 폰트크기차이로        박스크기도 차이가있음

<!-- 버튼(button) -->
   <input type="button" value="Click me" onclick="msg()">
   <input type="submit" onclick="msg()"> <!-- 자동문구 [제출] -->
   <button onclick="msg()">나도 버튼</button>

input type의 button문으로 (버튼)을 만들 수 있다

input type의 submit문은 양식을 제출할때(데이터를 보낼때) 쓰인다.

value : 버튼의 이름 지정

onclick="msg()" : 버튼클릭후 출력할 메세지 

<button>문을 통해서도 (버튼)을 만들 수 있음

필드셋(fieldset):화면상에 영역을 그리는 태그

<!-- 필드셋(fieldset): 화면상에 영역을 그리는 태그 -->
<fieldset>
   <legend>로그인 영역</legend>
   <form>
   ID: <input type="text" name="id" disabled value="admin"><br> <!-- disabled 입력 막아놓는 것 (정보 수정시 id같은 칸 막아놓는 그런 느낌) -->
   PW: <input type="password" name="pwd" required maxlength="8"> <!-- form안에  required 속성 있으면 무조건 입력해야됨  --> <!-- maxlength 최대 글자수 제한 -->
   <br> <input type="submit">
   </form>
</fieldset>   

<fieldset>으로 묶어주면 안에있는코드에 검은색박스영역이 생성된다

<legend>문구를 입력하면 필드셋에 제목을 입력가능.

<form>입력된 데이터를 백으로 전달(form 안으로 묶어줘야 입력한 데이터전송이 가능하다.)

<input type="text" : 텍스트를 입력받을 수 있다.

         name="id" : 데이터 전송을받을 이름은 "id"

         value="admin" : 박스안에 텍스트를 "admin"으로 미리 표시해둠

         type="password" : 패스워드를 입력받을 수 있다.(입력시 '***' 로 표시됨)

- disabled : 입력을 할 수 없게 막아놓는 것 (정보 수정시 id같은 칸 막아놓는 그런 느낌)

- required : form안에  required 속성 있으면 무조건 입력해야됨

- maxlength : 최대 글자수 제한

체크박스와 라디오 버튼

<form action="comp.jsp">
   <fieldset>
     <legend> 체크박스와 라디오 버튼</legend>
     <input type="checkbox" name="vehicle1" value="자전거">
      	자전거가 있습니다.<br>
     <input type="checkbox" name="vehicle1" value="자동차">
      	자동차가 있습니다.<br>
     <input type="checkbox" name="vehicle1" value="요트">
      	요트가 있습니다.<br>
      <hr>
      <input type="radio" name="gender" value="male">
      	남성<br>
      <input type="radio" name="gender" value="female">
      	여성<br>	
      <input type="radio" name="job" value="student">
      	학생<br>
      <input type="radio" name="job" value="researcher">
      	연구원<br>
      <input type="submit">
   </fieldset>
</form>

<form action="comp.jsp"> : 제출했을시 comp.jsp로 연결

input type="checkbox" : 체크박스 버튼 타입

        type="radio" : 라디오 버튼 타입

name에 따라서 분류됨 위에경우 "vehicle1","gender","job"으로 나뉘어짐

-체크박스 버튼은 중복선택 가능

-라디오버튼은 중복선택 불가

버튼 선택결과 페이지

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>선택 결과 페이지</title>
</head>
<body>
<%
//한글 깨짐 방지 작업
request.setCharacterEncoding("UTF-8");
//체크박스의 결과 받기
String ve[] = request.getParameterValues("vehicle1");
for(String v : ve){
	out.print(v + "<br>");
}

out.print("<br>");
String gender = request.getParameter("gender");
out.print("성별 : "+gender+"<br>");
out.print("<br>");
String job = request.getParameter("job");
out.print("직업 : "+job+"<br>");
%>
</body>
</html>

한글 깨짐이 있을 수 있기때문에 결과창에서

request.request.setCharacterEncoding("UTF-8"); 를 입력해 줘야한다.

<% %> : 자바의 기능을 입력 할 수 있게끔 해준다.

화면에서 글자 숨기기

<fieldset>
	<legend>숨김 속성</legend>
	보이는 정보 : <input type="text" value="길동"><br>
	안보이는 정보 : <input type="hidden" value="홍"><br>
</fieldset>

hidden 타입으로 글자를 숨길 수 있다.

파일 불러오기 속성

<!-- 파일 입력(file) -->
<fieldset>
   <legend>파일 입력</legend>
   <form>
      파일 선택 : <input type="file" name="img">
      <input type="submit">
   </form>
</fieldset>

input type="file"로 파일을 불러오는 버튼을 만들 수 있다.

색상 선택

<!-- color 선택 -->
<fieldset>
	<legend>색상 선택</legend>
	좋아하는 색상을 선택하세요 :
	<form action="favcolor.jsp">
	<input type="color" name="favcolor"><br>
	<input type="submit">
	</form>
</fieldset>

input type = "color" : 색상 선택 버튼

<form action="favcolor.jsp"> : 제출시 favcolor.jsp로 출력

favcolor.jsp
결과창(컬러코드를 나타냄)

-----------------------------------------------------------------------------------------------------------------------------------

날짜와 시간 블럭

<!-- 날짜와 시간 (date, month, week, time, datetime) -->
<fieldset>
	<legend>날짜 관련</legend>
	<form>
	오늘 : <input type="date" name="today">
	프로젝트 시작 : 
	<input type="date" name="from" min="2020-05-20" max="2021-01-01"><br>
	년-달 단위로 입력 :
	<input type="month" name="mon"><br>
	주단위로 입력 :
	<input type="week" name="we"><br>
	<input type="submit">
	</form>
</fieldset>

"date" :날짜 블럭 타입

max~min : 최대날짜 최소날짜

month : 년-달 단위

week : 주 단위

시간 블럭

<fieldset>
	<legend>시간 관련</legend>
	<form>
	시간 : 
	<input type="time" name="tt"><br>
	생일 (년도, 월, 일, 시간) 입력 :
	<input type="datetime-local" name="bday">
	</form>
</fieldset>

time : 시간데이터 타입

datetime-local : 년도, 월, 일, 시간 모두 입력받는 타입(생일입력시)

그 외에 입력블럭

<!-- 기타 입력 형식(number, range, e-mail, url -->
<fieldset>
	<legend>기타 입력</legend>
	<form>
	숫자 입력 : 
	<input type="number" name="num" min="1" max="10"><br>
	범위 설정 :
	<input type="range" name="point" min="0" max="100">
	<br>
	이메일 입력 :
	<input type="email" name="myemail"><br>
	홈페이지 :
	<input type="url" name="myhome"><br>
	<input type="submit">
	</form>
</fieldset>

number : 숫자만 입력

range : 범위 설정

email : 이메일 입력

url : 주소값 입력

<script type="text/javascript">
//여기는 javascript 영역
function msg() {
   alert("버튼을 눌렀습니다.");
}
</script>

function msg(){

    alert("버튼을 눌렀습니다."); --버튼 입력시 출력문구를 javascript영역으로 입력
}