쉽게 풀어쓴 C 프로그래밍

Similar documents
쉽게 풀어쓴 C 프로그래밍

PowerPoint Template

Javascript

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - web-part01-ch09-브라우저객체모델.pptx

Javascript.pages

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션


Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

SK Telecom Platform NATE

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PowerPoint 프레젠테이션

HTML5

쉽게 풀어쓴 C 프로그래밍

PHP & ASP

Microsoft PowerPoint - Java7.pptx

C H A P T E R 2

PowerPoint 프레젠테이션

AMP는 어떻게 빠른 성능을 내나.key

PowerPoint 프레젠테이션

Microsoft PowerPoint - aj-lecture1-HTML-CSS-JS.ppt [호환 모드]

Microsoft PowerPoint - web-part02-ch15-문서객체조작.pptx

3장

chap 5: Trees

쉽게 풀어쓴 C 프로그래밍

Week8-Extra

하둡을이용한파일분산시스템 보안관리체제구현

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Javascript

06장.리스트

Javascript

PowerPoint 프레젠테이션

PHP & ASP

Lab1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

- 이벤트의처리 <input type= button id= button1 value= 확인 /> <input type= button id= button2 value= 확인 /> 자바스크립트인경우 : document.getelementbyid( button1 ).oncl

HTML5

Javascript

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

untitled

HTML5

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

미쓰리 파워포인트

PowerPoint 프레젠테이션

Microsoft PowerPoint 세션.ppt

Overall Process

01....b

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

2007백서-001-특집

00목차

(291)본문7

OCaml

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

2파트-07

PowerPoint 프레젠테이션

HTML5

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

Modern Javascript

Cookie Spoofing.hwp

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

Building Mobile AR Web Applications in HTML5 - Google IO 2012

untitled

LCD Display

2009년 상반기 사업계획

2005CG01.PDF

PowerPoint Presentation

HTML5 웹프로그래밍 입문-개정판

PowerPoint 프레젠테이션

03장.스택.key

EDB 분석보고서 (04.03) ~ Exploit-DB( 에공개된별로분류한정보입니다. ** 5개이상발생한주요소프트웨어별상세 EDB 번호 종류 공격난이도 공격위험도 이름 소프트웨어이름 3037 SQL Inj

TP_jsp7.PDF

Microsoft PowerPoint 웹 연동 기술.pptx

쉽게 풀어쓴 C 프로그래밍

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

쉽게 풀어쓴 C 프로그래밍

Visual Basic 반복문

歯MDI.PDF

(Microsoft PowerPoint - 9\300\345.ppt [\310\243\310\257 \270\360\265\345])

chap 5: Trees

PowerPoint 프레젠테이션

NATE CP 가이드 1. WML 페이지에서줄바꿈문제 개요 WML 페이지에서줄바꿈은명시적으로 <br/> 태그를사용하여야한다. 설명그림 2 의의도로제작된페이지에서 Card Styles 텍스트와 Select 박스사이에명시적인 <br/> 태그가없어, 그림 1 과같이줄바꿈이되

PowerPoint Presentation

DWCOM15/17_manual

PowerPoint 프레젠테이션

HTML5 웹프로그래밍 입문-개정판

e-비즈니스 전략 수립

PowerPoint 프레젠테이션

BEef 사용법.pages

Transcription:

CHAPTER 10. DOM 과이벤트처리, 입력검 증

문서객체모델 (DOM) DOM 은 HTML 문서의계층적인구조를트리 (tree) 로표현

DOM 과 BOM HTML 문서를객체로표현한것을 DOM 웹브라우저를객체로표현한것을 BOM(Browser Object Model)

HTML 요소찾기 동적인웹페이지를작성하려면원하는요소를찾아야한다. id 로찾기 태그이름으로찾기

id 로 HTML 요소찾기 <!DOCTYPE > <html> <head> function process() { var obj = document.getelementbyid("target"); alert(obj.value); </head> <body> <form name="myform"> <input type="text" id="target" name="text1"> <input type="submit" value=" 제출 " onclick="process()"> </form> </body> </html>

입력양식찾기 <!DOCTYPE > <html> <head> function process() { var obj = document.myform.text1; alert(obj.value); </head> <body> <form name="myform"> <input type="text" id="target" name="text1"> <input type="submit" value=" 제출 " onclick="process()"> </form> </body> </html>

태그이름으로 HTML 요소찾기 <!DOCTYPE > <html> <body> <ul> <li>list item 1</li> <li>list item 2</li> <li>list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul> var list = document.getelementsbytagname('ul')[0]; var allitems = list.getelementsbytagname('li'); for (var i = 0, length = allitems.length; i < length; i++) { alert(allitems[i].firstchild.data); </body> </html>

DOM 트리순회

<!DOCTYPE html> <html> HTML 요소의내용변경 <head> <title></title> function get() { var val = document.getelementbyid("ex").innerhtml; alert(val); function set(v) { document.getelementbyid("ex").innerhtml = v; </head> <body> <div id="ex"> 여기가 div 로선언되었습니다.</div> <a href="#" onclick="get()">div 요소내용출력하기 </a><br /> <a href="#" onclick="set(' 변경되었습니다.')">div 요소내용변경하기 </a> </body> </html>

실행결과

<!DOCTYPE html> 요소의속성변경하기 <html> <body> <img id="image" src="pome.png" width="120" height="100"> function changeimage() { document.getelementbyid("image").src = "poodle.png"; <input type="button" onclick="changeimage()" value=" 눌러보세요 " /> </body> </html>

<!DOCTYPE html> <html> 요소의스타일변경하기 <body> <p id="p1">this is a paragraph.</p> function changestyle() { document.getelementbyid("p1").style.color = "red"; document.getelementbyid("p1").style.fontfamily = "Century Schoolbook"; document.getelementbyid("p1").style.fontstyle = "italic"; <input type="button" onclick="changestyle()" value=" 눌러보세요 " /> </body> </html>

새로운 HTML 요소생성 function addtext(t) { if (document.createtextnode) { var node = document.createtextnode(t); document.getelementbyid("target").appendchild(node); <div id="target" onclick="addtext(' 동적으로텍스트가추가됩니다.')" style="font: 20px bold;"> 여기를클릭하세요.</div>

HTML 요소삭제 <!DOCTYPE html> <html> <head> function removenode() { var parent = document.getelementbyid("target"); var child = document.getelementbyid("p1"); parent.removechild(child); </head> <body> <div id="target"> <p id="p1"> 첫번째단락 </p> <p id="p2"> 두번째단락 </p> </div> <button onclick="removenode()"> 누르세요!</button> </body> </html>

브라우저객체모델 브라우저객체모델 (BOM: Browser Object Model): 웹브라우저가가지고있는모든객체를의미 최상위객체는 window 이고그아래로 navigator, location, history, screen, document, frames 객체가있다.

새로운윈도우오픈예제 <!DOCTYPE html> <html> <head></head> <body> <form> <input type="button" value=" 구글창열기 " onclick="window.open('http://www.google.com', '_blank', 'width=300, height=300', true)"> </form> </body> </html>

settimeout()

예제 <!DOCTYPE html> <html> <head> function showalert() { settimeout(function () { alert("settimeout() 을사용하여표시됩니다."), 3000); </head> <body> <p> 버튼을누르면 3 초후에경고박스가화면에표시됩니다. </p> <button onclick="showalert()"> 눌러보세요 </button> </body> </html>

setinterval()

예제 <!DOCTYPE html> <html> <head> var id; function changecolor() { id = setinterval(flashtext, 500); function flashtext() { var elem = document.getelementbyid("target"); elem.style.color = (elem.style.color == "red")? "blue" : "red"; elem.style.backgroundcolor = (elem.style.backgroundcolor == "green")? "yellow" : "green"; function stoptextcolor() { clearinterval(id); </head>

예제 <body onload="changecolor();"> <div id="target"> <p>this is a Text.</p> </div> <button onclick="stoptextcolor();"> 중지 </button> </body> </html>

screen 객체

예제 function maxopen(url, winattributes) { var maxwindow = window.open(url, "", winattributes) maxwindow.moveto(0, 0); maxwindow.resizeto(screen.availwidth, screen.availheight) <a href="#" onclick="maxopen('http://www.google.com', 'resize=1, scrollbars=1, status=1'); return false"> 전체화면보기 </a>

location 객체

예제 function replace() { location.replace("http://www.google.com") <a href="#" onclick="replace()"> 이동하기 </a>

navigator 객체

예제 for (var key in navigator) { value = navigator[key]; document.write(key + ": " + value + "<br>");

이벤트처리

onclick 이벤트 <!DOCTYPE html> <html> <head> function changecolor(c) { document.getelementbyid("target").style.backgroundcolor = c; </head> <body id="target"> <form method="post"> <input type="radio" name="c1" value="v1" onclick="changecolor('lightblue')"> 파랑색 <input type="radio" name="c1" value="v2" onclick="changecolor('lightgreen')"> 녹색 </form> </body> </html>

onload 와 onunload 이벤트 <html> <head> function onloaddoc() { alert(" 문서가로드되었습니다."); document.body.style.backgroundcolor = "red"; </head> <body onload="onloaddoc();"> </body> </html>

onchange 이벤트 <!DOCTYPE html> <html> <head> function sub() { var x = document.getelementbyid("name"); x.value = x.value.tolowercase(); </head> <body> 영어단어 : <input type="text" id="name" onchange="sub()"> <p> 입력필드를벗어나면소문자로변경됩니다.</p> </body> </html>

<html> <head> function OnMouseIn(elem) onmouseover 이벤트 { elem.style.border = "2px solid red"; function OnMouseOut(elem) { elem.style.border = ""; </head> <body> <div style="background-color: yellow; width: 200px" onmouseover="onmousein (this)" onmouseout="onmouseout (this)"> 마우스를이요소위에이동하세요. </div> </body> </html>

onmousedown 이벤트 <html> <head> function OnButtonDown(button) { button.style.color = "#ff0000"; function OnButtonUp(button) { button.style.color = "#000000"; </head> <body> <button onmousedown="onbuttondown (this)" onmouseup="onbuttonup (this)"> 눌러보세요!</button> </body>

계산기예제 <html> <head> var expression=""; function add(character) { expression = expression + character; document.getelementbyid("display").value = expression; function compute() { document.getelementbyid("display").value = eval(expression); function cleardisplay() { expression = ""; document.getelementbyid("display").value = "0";

계산기예제 <body> <form> display <input id="display" value="0" size="30"> <br> <input type="button" value=" 7 " onclick="add('7')"> <input type="button" value=" 8 " onclick="add('8')"> <input type="button" value=" 9 " onclick="add('9')"> <input type="button" value=" / " onclick="add('/')"> <br> <input type="button" value=" 4 " onclick="add('4')"> <input type="button" value=" 5 " onclick="add('5')"> <input type="button" value=" 6 " onclick="add('6')"> <input type="button" value=" * " onclick="add('*')"> <br> <input type="button" value=" 1 " onclick="add('1')"> <input type="button" value=" 2 " onclick="add('2')"> <input type="button" value=" 3 " onclick="add('3')"> <input type="button" value=" - " onclick="add('-')"> <br> <input type="button" value=" 0 " onclick="add('0')"> <input type="button" value=" + " onclick="add('+')"> <br> <input type="button" value=" Clear " onclick="cleardisplay()"> <input type="button" value=" Enter </form> </body> </html> " name="enter" onclick="compute()">

웹브라우저실행 실행결과

폼의유효성검증 입력필드에서의잘못을검증하는작업 <h3> 회원가입 </h3> <form> 이름 : <input type='text' id='name' /><br /> 주소 : <input type='text' id='addr' /><br /> 생일 : <input type='date' id='birthday' /><br /> 아이디 (6-8 문자 ): <input type='text' id='username' /><br /> 이메일 : <input type='email' id='email' /><br /> 휴대폰 : <input type='tel' id='phone' /><br /> <input type='submit' value=' 확인 ' /><br /> </form>

공백검증 function checknotempty(field) { if (field.value.length == 0) { alert(" 필드가비어있네요!"); field.focus(); return false; return true; <form> 이름 : <input type='text' id='user' /> <input type='button' onclick="checknotempty(document.getelementbyid('user'))" value=' 확인 ' /> </form>

데이터길이검증 function checklength(elem, min, max) { var s = elem.value; if (s.length >= min && s.length <= max) { return true; else { alert(min + " 문자와 " + max + " 문자사이로입력해주세요!"); elem.focus(); return false; <form> 이름 (6-8 문자 ): <input type='text' id='name' /> <input type='button' onclick="checklength(document.getelementbyid('name'), 6, 8)" value=' 확인 ' /> </form>

정규식 정규식 (regular expression): 특정한규칙을가지고있는문자열들을표현하는수식이다 ( 예 ) ^[0-9]+abc$

숫자검증예제 function checknumeric(elem, msg) { var exp = /^[0-9]+$/; if (elem.value.match(exp)) { return true; else { alert(msg); elem.focus(); return false; <form> 전화번호 (- 없이입력 ): <input type='text' id='phone'/> <input type='button' onclick="checknumeric(document.getelementbyid('phone'), ' 숫자만입력하세요!')" value=' 확인 ' /> </form>