테이블 태그


1. <table>,<tbody>,<tr>,<td> 태그의 조합에 의해 표 형식을 만들 수 있다.


2. 형식

<table>

<tbody>

<tr>  --> 행 역할

<td>콘텐츠</td><td>콘텐츠</td>...  --> 열 역활

</tr>

<tr>

<td>콘텐츠</td><td>콘텐츠</td>...

</tr>

...

</tbody>

</table>


3. 제목 표시하는 경우는 <td> 대신에 <th>을 사용.


예를 들어서, 회원 명단을 테이블 태그로 표현하면


번호 이름    전화번호      이메일         

1    홍길동  010-111-1111  hong@naver.com 

2    김길동  010-222-2222  kim@naver.com  


//Sample08.html

<!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=EUC-KR">

<title>Insert title here</title>

<style type="text/css">

table td, table th  /* 식별자, 식별자는 두 개의 식별자에 동시에 CSS 적용 */ 

{

padding: 5px;

border-right-style: solid; /* 경계선의 모양 지정 속성 */

border-bottom-style: solid; /* 경계선의 모양 지정 속성 */

border-width: 1px; /* 경계선의 굵기 지정 속성 */

border-color: #6980b8; /* 경계선의 색 지정 속성 */

}

</style>

</head>

<body>

<div>

<table cellspacing="4">

<tbody>

<tr>

<th>번호</th>

<th>이름</th>

<th>전화번호</th>

<th>이메일</th>

</tr>

<tr>

<td>1</td>

<td>홍길동</td>

<td>010-111-1111</td>

<td>hong@naver.com</td>

</tr>

<tr>

<td>2</td>

<td>김길동</td>

<td>010-222-2222</td>

<td>kim@naver.com</td>

</tr>

</tbody>

<!--

<tfoot><tr><td style="border:none;">표1. 회원 명단</td></tr> </tfoot>

-->

</table>

</div>

</body>

</html>





입력 폼(Form) 태그


1. <form>, <input>, <select>, <textarea> 태그의 조합으로 입력 인터페이스 구성.


2. <input> 에서 type 속성(text, password, radio, checkbox, file, hidden, submit, reset, button)으로 

여러가지 입력 폼 구성 가능.


3. <select> 태그는 하위 태그로서 <option> 태그를 갖는다.


4. <form> 태그는 <input>,<select>,<textarea>의 부모 태그 역할.


예를 들어, 이름, 전화번호 입력 양식 화면 구성시


<form>

이름 <input type="text">  --> 실행시 텍스트 입력 양식이 된다.

전화번호 <input type="text">

</form>



//Sample09.html

<!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=EUC-KR">

<title>Insert title here</title>


<style type="text/css">


input.style01  /* 특정 태그의 스타일(style) 속성이 style01인 경우에만 속성 적용 */ 

{

}

input:FOCUS { /* 특정 태그에 포커스가 맞춰진 경우만 속성 적용 */

background-color: yellow;

}

}

</style>


</head>

<body>

<div>

<h1>회원가입</h1>

<p>회원가입 안내 문구</p>

<form>

<table>

<tbody>

<tr>

<td>이름</td>

<td><input type="text" class="style01"></td>

</tr>

<tr>

<td>전화번호</td>

<td><input type="text" class="style01"></td>

</tr>

<tr>

<td>성별</td>

<td><input type="radio" name="gender">남자<input type="radio" name="gender">여자</td>

</tr>

<tr>

<td>취미</td>

<td>

<input type="checkbox"> 공부 

<input type="checkbox"> 영화

<input type="checkbox"> 운동

<input type="checkbox"> 독서

</td>

</tr>

<tr>

<td>출신지역</td>

<td>

<select>

<option>서울</option>

<option>부산</option>

<option>인천</option>

<option>대구</option>

</select>

</td>

</tr>

<tr>

<td>자기소개</td>

<td>

<textarea style="width:300px; height:100px;"></textarea>

</td>

</tr>

<tr>

<td></td>

<td><input type="button" value="가입"></td>

</tr>

</tbody>

</table>

</form>

</div>

</body>

</html>








Javascript


1. 자바스크립트는 프로그램 언어의 한 종류. HTML의 태그를 객체로 삼아서 데이터 처리를 하는 프로그램 언어.


2. 변수, 연산자, 제어문, 함수, 배열, 객체 등의 표현이 모두 지원됨.


3. HTML, CSS, Javascript 가 혼용된 형태로 코딩을 해야 함.


4. 형식


<script type="text/javascript">

//자바스크립트 코드 작성

/* 범위 주석 */

</script>


5. 기본 규칙

- 대소문자 구분

- 함수 단위로 코딩

- 함수 영역 내에 있는 코드는 함수 호출시에만 실행됨

- 함수 영역 밖에 있는 코드는 HTML 문서가 브라우저에 로드될 때 실행됨

- 함수 호출은 HTML 에서 이벤트 핸들러(onclick, ...)를 이용함

- HTML 태그를 객체로 접근하기 위해서 document.getElementById("아이디명") 메소드 사용

- document는 내장객체로서 HTML 문서의 body 태그 영역을 지정함

- HTML 태그에서는 id 속성을 지정해서 객체 접근이 가능하도록 함

- 객체로 접근한 후에는 해당 객체가 가지고 있는 여러가지 속성을 자바스크립트에서 사용 가능

- 사용 가능한 속성은 해당 객체의 종류에 따라 다름

- 자바스크립트 내에서만 사용 가능한 여러가지 내장 객체가 지원됨






이벤트 핸들러 테스트


//Script01.html

<!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=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">

//변수 선언->전역 변수(멤버 변수)

var a = 10;

//함수(메소드) 정의

function myFunc() {

//변수 선언->지역 변수

var b = 20;

var c = 0;

//연산

c = a + b;


//출력->자체 출력문을 사용하지 않고 HTML 객체를 통해서 결과 출력함.

var obj = document.getElementById("result");

obj.innerHTML = "<span style=\"font-size:24pt;\">결과: " + c +"</span>";

}


</script>


</head>

<body>

<div>

<h3>자바스크립트를 이용한 메시지 출력</h3>

<form>

<input type="button" value="함수호출"

onclick="myFunc()">

</form>

<div id="result">결과: </div>

</div>

</body>

</html>






이름, 국어, 영어, 수학을 입력 받아서 총점, 평균 출력


//Script02.html

<!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=EUC-KR">

<title>Insert title here</title>


<style type="text/css">

.score { width:80px; }

</style>


<script type="text/javascript">


function myFunc() {

var nameObj = document.getElementById("name"); 

var korObj = document.getElementById("kor");

var engObj = document.getElementById("eng");

var matObj = document.getElementById("mat");

var tot = parseInt(korObj.value) + parseInt(engObj.value) + parseInt(matObj.value);

var ave = Math.round((tot / 3)*10)/10;

var result = document.getElementById("result");

result.innerHTML = "<span style=\"font-size:14pt;\">이름:"+nameObj.value+", 국어:"+korObj.value+", 영어:"+engObj.value+", 수학:"+matObj.value+", 총점:"+tot+", 평균:"+ave+"</span>";

}

</script>


</head>

<body>

<div>

<h2>총점, 평균 계산</h2>

<h3>입력------</h3>

<form>

이름 <input type="text" id="name" value="">

국어 <input type="text" id="kor" class="score">

영어 <input type="text" id="eng" class="score">

수학 <input type="text" id="mat" class="score">

<input type="button" value="결과"

onclick="myFunc()">

</form>


<h3>출력------</h3>

<div id="result">

<!-- 

<span style="font-size:14pt;">이름:홍길동, 국어:100, 영어:100, 수학:100, 총점:300, 평균:100.0</span>

-->

</div>

</div>

</body>

</html>






문제) 거스름돈을 환폐단위로 구분해서 출력. 자바스크립트 이용.

실행 예)

금액(10~1000) [ 990  ]  [결과]

총액 : 990원

오백원 1개, 백원 4개, 오십원 1개, 십원 4개


//Script03.html

<!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=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">

function myFunc() {

var moneyObj = document.getElementById("money");


var money = parseInt(moneyObj.value);

var m500, m100, m50, m10;

m500 = parseInt(money / 500); //몫 연산

money = money % 500; //나머지 연산

m100 = parseInt(money / 100);

money = money % 100;

m50 = parseInt(money / 50);

money = money % 50;

m10 = parseInt(money / 10);

var result = document.getElementById("result");

result.innerHTML = "총액 : "+moneyObj.value+"원<br>오백원 "+m500+"개, 백원 "+m100+"개, 오십원 "+m50+"개, 십원 "+m10+"개";

}

</script>


</head>

<body>

<div>

<h2>거스름돈 계산</h2>

<h3>입력 ---------- </h3>

<form>

금액(10~1000)

<input type="text" id="money"> 

<input type="button" value="결과" 

onclick="myFunc()">

</form>

<h3>출력 ---------- </h3>

<div id="result">

<!-- 총액 : 990원<br>

오백원 1개, 백원 4개, 오십원 1개, 십원 4개 -->

</div>

</div>

</body>

</html>






if문


1. 제어문 일종. 조건식 검사를 통해서 조건에 결과에 따라서 실행문 실행을 선택.


2. 형식

if (조건) {

}


if (조건) {

} else {

}


if (조건) {

} else if (조건) {

} else {

}


3. 조건식에 사용되는 관계연산자, 논리연산자는 자바와 동일.


4. 자바스크립트에서는 문자열 비교시 == 연산자 사용함(자바에서는 equals() 메소드 사용).






문제) 세 개의 숫자 중에서 가장 큰 숫자 구하기. 자바스크립트 이용.

실행 예)

숫자1 [XX] 숫자2 [YY] 숫자3 [ZZ]  [결과]


입력 받은 숫자 : XX, YY, ZZ

가장 큰 숫자 :  ZZ


//Script04.html






문제) 비밀번호 입력시 확인 결과 출력. 자바스크립트 이용.

<input type="password"> 태그 이용.

실행 예)


비밀번호(숫자만 입력 가능) [**** ]  [결과]


결과: 암호가 틀렸습니다.


//Script05.html

<!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=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">


function myFunc() {

var pw = document.getElementById("pw");

var msg = document.getElementById("msg");

msg.style.display = "none";

//정규식(Regular Expression)

//숫자로만 구성되었는지 검사하는 과정

if (pw.value.match(/[^0-9]/)) {

msg.style.display = "inline";

pw.value = "";

pw.focus();

}

var str = "";

if (pw.value == "1234") {

str = "암호가 맞습니다.";

} else {

str = "암호가 틀렸습니다.";

}

var result = document.getElementById("result");

result.innerHTML = str;

}

</script>


</head>

<body>

<div>

<h2>비밀번호 확인</h2>

<h3>입력 ------------------</h3>

<form>

비밀번호(숫자만 입력 가능)

<input type="password" id="pw">

<input type="button" value="결과"

onclick="myFunc()">

<span id="msg" 

style="color:red; display:none;">

숫자만 입력 가능합니다.</span>

</form>

<h3>출력 ------------------</h3>

<div id="result"></div>

</div>

</body>

</html>






문제) 임의의 수를 입력 받아서 3의 배수, 4의 배수로 구분해서 출력. 자바스크립트 이용.

실행 예)

임의의 정수(3 또는 4의 배수)  [3  ] [결과]


입력받은 숫자 : 3

구분 : 3의 배수


//Sample06.html

<!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=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">


function myFunc() {

var num = document.getElementById("num");

var data = parseInt(num.value);

var msg = document.getElementById("msg");

msg.style.display = "none";

//정규식(Regular Expression)

//숫자로만 구성되었는지 검사하는 과정

if (num.value.match(/[^0-9]/)) {

msg.style.display = "inline";

num.value = "";

num.focus();

}

var str = "";

str += "입력받은 숫자 : " + num.value + "<br>";

if ((data % (3*4)) == 0) {

str += "구분 : 3 또는 4의 배수";

} else if ((data % 3) == 0) {

str += "구분 : 3의 배수";

} else if ((data % 4) == 0) {

str += "구분 : 4의 배수";

}


var result = document.getElementById("result");

result.innerHTML = str;

}

</script>


</head>

<body>

<div>

<h2>배수 확인</h2>

<h3>입력 ------------------</h3>

<form>

임의의 정수(3 또는 4의 배수)

<input type="text" id="num">

<input type="button" value="결과"

onclick="myFunc()">

<span id="msg" 

style="color:red; display:none;">

숫자만 입력 가능합니다.</span>

</form>

<h3>출력 ------------------</h3>

<div id="result"></div>

</div>

</body>

</html>





문제) 임의의 점수를 입력받아서 판정을 출력. 자바스크립트 이용.

입력된 데이터가 숫자인지 검사하는 과정, 0~100 사이의 숫자인지 검사하는 과정 추가.

판정 기준은 

90~100 -> A

80~89 -> B

70~79 -> C

60~69 -> D

0~59 -> F


실행 예)

점수 입력(0~100)  [90  ]  [결과]

입력된 점수 : 90

판정 결과 : A


//Sample07.html

<!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=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">


function myFunc() {

var num = document.getElementById("num");

var data = parseInt(num.value);

var msg = document.getElementById("msg");

msg.style.display = "none";

//정규식(Regular Expression)

//숫자로만 구성되었는지 검사하는 과정

if (num.value.match(/[^0-9]/) || data>100) {

msg.style.display = "inline";

num.value = "";

num.focus();

} else {

var str = "";

str += "입력된 점수 : " + num.value + "<br>";

str += "판정 결과 : ";

if (data < 60) {

str += "F";

} else if (data < 70) {

str += "D";

} else if (data < 80) {

str += "C";

} else if (data < 90) {

str += "B";

} else {

str += "A";

}

var result = document.getElementById("result");

result.innerHTML = str;

}

}

</script>


</head>

<body>

<div>

<h2>판정 확인</h2>

<h3>입력 ------------------</h3>

<form>

점수 입력(0~100)

<input type="text" id="num">

<input type="button" value="결과"

onclick="myFunc()">

<span id="msg" 

style="color:red; display:none;">

0~100 사이의 숫자만 입력 가능합니다.</span>

</form>

<h3>출력 ------------------</h3>

<div id="result"></div>

</div>

</body>

</html>







문제) 국어, 영어, 수학 점수를 입력 받아서 판정 결과 출력. 자바스크립트 이용.

입력된 데이터가 숫자인지 검사하는 과정, 0~100 사이의 숫자인지 검사하는 과정 추가.


판정 기준은

합격 -> 과목별로 40점 이상이면서, 평균이 60점 이상

과락 -> 과목중에 40점 미만이 있고, 평균은 60점 이상

불합격 -> 평균이 60점 미만


평균이 60점 이상 -> 합격

평균이 60점 미만 -> 불합격


합격 또는 과락 구분은 -> 국어, 영어, 수학 점수가 모두 40점 이상인 확인.


실행 예)

국어(0~100) [XX ]  영어(0~100) [YY ]  수학(0~100) [ZZ  ]  [결과]


입력받은 점수 : 국어 XX, 영어 YY, 수학 ZZ

판정 결과 : 합격



//Sample08.html

<!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=EUC-KR">

<title>Insert title here</title>


<style type="text/css">

.style01 {

width:80px;

}

</style>


<script type="text/javascript">


function myFunc() {

var kor = document.getElementById("kor");

var korVal = parseInt(kor.value);

var eng = document.getElementById("eng");

var engVal = parseInt(eng.value);

var mat = document.getElementById("mat");

var matVal = parseInt(mat.value);

var msg = document.getElementById("msg");

msg.style.display = "none";

//정규식(Regular Expression)

//숫자로만 구성되었는지 검사하는 과정

if ((kor.value.match(/[^0-9]/) || korVal>100)

|| ((eng.value.match(/[^0-9]/) || engVal>100))

|| ((mat.value.match(/[^0-9]/) || matVal>100))) {

msg.style.display = "inline";

kor.value = "";

eng.value = "";

mat.value = "";

kor.focus();

} else {

var str = "";

str += "입력된 점수 : 국어 "+kor.value+", 영어 "+eng.value+", 수학 "+mat.value+"<br>";

str += "판정 결과 : ";

var ave = (korVal + engVal + matVal) / 3;

if (ave>=60 && (korVal>=40 && engVal>=40 && matVal>=40)) {

str += "합격";

} else if (ave>=60) {

str += "과락";

} else {

str += "불합격";

}

var result = document.getElementById("result");

result.innerHTML = str;

}

}

</script>




</head>

<body>

<div>

<h2>성적 확인</h2>

<h3>입력 ------------------</h3>

<form>

국어(0~100)<input type="text" id="kor" class="style01">

영어(0~100)<input type="text" id="eng" class="style01">

수학(0~100)<input type="text" id="mat" class="style01">

<input type="button" value="결과"

onclick="myFunc()"><br>

<span id="msg" 

style="color:red; display:none;">

0~100 사이의 숫자만 입력 가능합니다.</span>

</form>

<h3>출력 ------------------</h3>

<div id="result"></div>

</div>

</body>

</html>


WRITTEN BY
빨강꼬마

,