57
วิชา เทคโนโลยีเว็บ (รหัสวิชา 04-06-204) ภาษาจาวาสคริปต์ (JavaScript Language) บทที5

บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

วิชา เทคโนโลยีเว็บ (รหัสวิชา 04-06-204)

ภาษาจาวาสคริปต์ (JavaScript Language)บทที่ 5

Page 2: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

วัตถุประสงค์การเรียนรู้

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

2

เพื่อให้ผู้เรียนมีความรู้ความเข้าใจเกีย่วกบัภาษา JavaScript

เพื่อให้ผู้เรียนประยุกต์ใช้งาน JavaScript กับภาษามาร์กอัป HTML เพื่อพัฒนาเว็บไซต์เบื้องต้นได้

Page 3: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

หัวข้อ

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

3

บทน า (Overview)

ภาษา JavaScript Syntax

Output

Statements

Methods

สรุป (Summary)

Page 4: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

บทน า (Overview)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

4

JavaScriptภาษาสคริปต์ท างาน/ประมวลผลฝั่ง Client

สามารถท างานร่วมกับภาษา Server Side Script◼ASP.NET, PHP, JSP และอื่นๆ

Page 5: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

ภาษา JavaScript

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

5

Programming Language Script ส าหรับHTMLWebComputers, servers, laptops, tablets, smart phones

JavaScript เป็นหนึ่งใน 3 ภาษาส าหรับการพัฒนาเว็บไซต์HTMLCSS JavaScript◼ JavaScript และ HTML References

ที่มา: http://www.w3schools.com/jsref/default.asp

Page 6: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

ภาษา JavaScript (ต่อ)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

6

พัฒนาโดย Brendan Eich พนักงานบริษัทเน็ตสเคป ใช้ชื่อว่า “โมคา” ภายหลังเปลี่ยนชื่อเป็น “ไลฟ์สคริปต”์ และ “จาวาสคริปต”์

รูปแบบการเขียนภาษาคล้ายคลึงกับภาษาซี

รุ่นล่าสุดของจาวาสคริปต์ คือ รุ่น 2.0 ซึ่งตรงกับมาตรฐานของ ECMAScript

ภาษาจาวาสคริปต์ไม่มีความสัมพันธ์กับ ภาษาจาวา (Java) และเจสคริปต์ (JScript) แต่อย่างใด ยกเว้นแต่โครงสร้างภาษาที่มีลักษณะคล้ายคลึงกัน

พัฒนาต่อมาจากภาษาซีเหมือนกัน และมีชื่อที่คล้ายคลึงกันเท่านั้น

Page 7: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

ตัวอย่างภาษา JavaScript

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

7

<!DOCTYPE html><html><body>

<h1>My First JavaScript</h1>

<button type="button"onClick="document.getElementById('demo').innerHTML = Date()">Click me to display Date and Time.</button>

<p id="demo"></p>

</body></html>

Page 8: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript: Change HTML Elements

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

8

HTML DOM (Document Object Model)W3C standard ส าหรับการเข้าถึงและอ้างอิง HTML elements

JavaScript สามารถจัดการ DOM (Change HTML contents)

<script>function myFunction() {

document.getElementById("demo").innerHTML = "Hello JavaScript!";}</script>

หมายเหตุ: document.getElementById() เป็นหนึ่งใน method ของ DOM

Page 9: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript: Change HTML Attributes

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

9

เปลี่ยนแปลงค่า attribute ของ HTML elements

var image = document.getElementById("myImage");if (image.src.match("bulbon")) {

image.src = "./images/pic_bulboff.gif";} else {

image.src = "./images/pic_bulbon.gif";}

เพิ่มเติม: http://www.w3schools.com/jsref/dom_obj_document.asp

Page 10: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript: Change HTML Styles (CSS)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

10

เปลี่ยนแปลงรูปแบบการแสดงผลของ HTML element

var x = document.getElementById("demo");x.style.fontSize = "25px"; x.style.color = "red";

Page 11: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Can Hide/Show HTML Elements

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

11

Hiding/Showing hidden HTML elements can be done by changing the display style:

document.getElementById("demo").style.display = "none";

document.getElementById("demo").style.display = "block";

Page 12: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

How use JavaScript?

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

12

The <script> Tag

JavaScript Functions and Events

JavaScript in <head> or <body>

External JavaScript

<script>document.getElementById("demo").innerHTML = "My First JavaScript";</script>

<script src="myScript.js"></script>

Page 13: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Output

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

13

Writing into an HTML element, using innerHTML

Writing into the HTML output using document.write() <script>document.write(5 + 6);</script>

Writing into an alert box, using window.alert() <script>window.alert(5 + 6);</script>

Writing into the browser console, using console.log() <script>console.log(5 + 6);</script>

Page 14: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript: Can Validate Data

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

14

Validate input data

HTML5 already module?

var x, text;

x = document.getElementById("numb").value;

if (isNaN(x) || x < 1 || x > 10) {text = "Input not valid";

} else {text = "Input OK";

}

Page 15: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript: RegExp

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

15

A regular expression is an object that describes a pattern of characters.

Regular expressions are used to perform pattern-matching and "search-and-replace" functions on text.

Syntax:/pattern/modifiers;

Example:var patt = /w3schools/i

ที่มา: http://www.w3schools.com/js/js_regexp.asp

Page 16: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript: RegExp (ต่อ)

String search() With a Regular

Expression

var str = "Visit W3Schools";

var n = str.search(/w3schools/i);

String search() With String

var str = "Visit W3Schools!";

var n = str.search("W3Schools");

String replace() With a Regular Expression

var str = "Visit Microsoft!";

var res = str.replace(/microsoft/i, "W3Schools");

String replace() With a String

var str = "Visit Microsoft!";

var res = str.replace("Microsoft", "W3Schools");

16

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

Page 17: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

การประกาศตัวแปร

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

17

JavaScript variables มี data types หลายชนิด เช่น numbers, strings, arrays, objects และอื่นๆ

var length = 16; // Number assigned by a number literalvar points = x * 10; // Number assigned by an expression literalvar lastName = "Johnson"; // String assigned by a string literal

var answer1 = "He is called 'Johnny'"; var answer2 = 'He is called "Johnny"'; var x1 = 34.00; // Written with decimalsvar x2 = 34; // Written without decimalsvar x = true; var y = false;var cars = new Array("Benz", "Volvo", "BMW"); // Array, cars[0]var cars = ["Benz", "Volvo", "BMW"];

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}; // Object, person.age

Page 18: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

การประกาศตัวแปร (ต่อ)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

18

JavaScript Has Dynamic Types

var x; // Now x is undefinedvar x = 5; // Now x is a Numbervar x = "John"; // Now x is a String

Page 19: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

การแทนค่ารหัสพิเศษ (Escape Sequences)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

19

ที่มา: Paul Wilton and Jeremy McPeak, Beginning JavaScript® Fourth Edition, 2010

Page 20: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Events

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

20

An HTML event can be something the browser does, or something a user does.

Here are some examples of HTML events: An HTML web page has finished loading

An HTML input field was changed

An HTML button was clicked

<element event='some JavaScript'>

Page 21: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

Example

An onclick attribute (with code)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

21

<button onclick="document.getElementById('demo').innerHTML = Date()">The time is?</button>

<button onclick="this.innerHTML = Date()">The time is?</button>

<button onclick="displayDate()">The time is?</button>

added to a button element

changes the content of its own element

event attributes calling functions

Page 22: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

Common HTML Events

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

22

ท่ีมา: https://www.w3schools.com/js/js_events.asp

Page 23: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

ExampleJavaScript in <body> and calling function

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

23

<!DOCTYPE html><html><body>

<h1>A Web Page</h1><p id="demo">A Paragraph</p><button type="button" onclick="myFunction()">Try it</button>

<script>function myFunction() {

document.getElementById("demo").innerHTML = "Paragraph changed.";}</script>

</body></html>

การเรียกใช้งาน

การแทรกสคริปต์

Page 24: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

การสร้างฟังก์ชัน

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

24

ฟังก์ชัน ท าหน้าที่ตามต้องการ และด าเนินงานเฉพาะอย่าง

<script type="text/javascript">

function functionName (param0, param1, …, paramn) {

//code to be executed

return value;

}</script>

a) <input type="button" name="myButton" id="myButton" value="Click"

onClick="functionName()" />

b) <input type="button" name="myButton" id="myButton" value="Click"

onClick="JavaScript:functionName()" />

Page 25: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

ตัวอย่างการเรียกใช้งานฟังก์ชัน

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

25

<!DOCTYPE html>

<html>

<head>

<title>JavaScript Function</title>

</head>

<body>

<p id="demo"></p>

<script>

function myFunction(a, b) {

return a * b;

}

document.getElementById("demo").innerHTML = myFunction(4, 3);

</script>

</body>

</html>

Page 26: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

การแปลงชนิดข้อมูล

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

26

parseFloat()

parseFloat("10"); // returns 10parseFloat("10.33"); // returns 10.33

parseInt()

parseInt("10"); // returns 10parseInt("10.33"); // returns 10

Number()

x = true;

Number(x); // returns 1

toString()

x.toString(); // returns 123 from variable x

ที่มา: http://www.w3schools.com/js/js_type_conversion.asp

Page 27: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Comparison

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

27

Operator Description Comparing Returns

== equal to x == 8 false

x == 5 true

=== equal value and equal type x === "5" false

x === 5 true

!= not equal x != 8 true

!== not equal value or not equal type

x !== "5" true

x !== 5 false

> greater than x > 8 false

< less than x < 8 true

>= greater than or equal to x >= 8 false

<= less than or equal to x <= 8 true

ที่มา: http://www.w3schools.com/js/js_comparisons.asp

Page 28: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Logical

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

28

ที่มา: http://www.w3schools.com/js/js_comparisons.asp

Operator Description Example

&& and (x < 10 && y > 1) is true

|| or (x == 5 || y == 5) is false

! not !(x == y) is true

Page 29: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Statements

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

29

ที่มา: http://www.w3schools.com/js/js_comparisons.asp

//Conditionif (time < 10) {

greeting = "Good morning";} else if (time < 20) {

greeting = "Good day";} else {

greeting = "Good evening";}

//Switch caseswitch (new Date().getDay()) {

case 0:day = "Sunday";break;

case 1:day = "Monday";break;

case 2:day = "Tuesday";break;

case 3:day = "Wednesday";break;

case 4:day = "Thursday";break;

case 5:day = "Friday";break;

case 6:day = "Saturday";break;

}

//For loopfor (i = 0; i < 5; i++) {

text += "The number is " + i + "<br>";}

Page 30: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

การตรวจสอบ HTML Element (เพิ่มเติม)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

30

Checkbox/Radio Element document.getElementById(“myId”).checked

Select Element document.getElementById(“myId”).value

Set Focus document.getElementById(“myId”).focus()

function checkForm() {//Getvar x = document.getElementById("red").checked;var y = document.getElementById("myText").value;//Set or Selectdocument.getElementById("red").checked = true;document.getElementById("myText").value = "IT";//Set focusdocument.getElementById("myText").focus();

}

Page 31: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

Confirm Submit Form

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

31

ตรวจสอบข้อมูล เพื่อยืนยันข้อมูลก่อน Submit ฟอร์ม ใช้ร่วมกับ Event onSubmit() (ใน Element Form) / onClick

function confirmSubmit(){if(confirm(“Please confirm?”)){

return true;}else{

return false;}

}

<button onclick="confirmSubmit()">Try it</button>

Page 32: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Methods

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

32

String Methods

Number Methods

Date Methods

Array Methods

Page 33: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript String Methods

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

33

String Length

Finding a String in a String

Searching for a String in a String

The substring() Method

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";var sln = txt.length;

var str = "Please locate where 'locate' occurs!";var pos = str.indexOf("locate"); //lastIndexOf

var str = "Please locate where 'locate' occurs!";var pos = str.search("locate");

var str = "Apple, Banana, Kiwi";var res = str.substring(7, 13);

Page 34: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript String Methods (ต่อ)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

34

Replacing String Content

The concat() Method

Converting a String to an Array

str = "Please visit Microsoft and Microsoft!";var n = str.replace("Microsoft", "W3Schools"); // /Microsoft/g

var text = "Hello" + " " + "World!";var text = "Hello".concat(" ", "World!");

var txt = "a,b,c,d,e"; // Stringtxt.split(","); // Split on commastxt.split(" "); // Split on spacestxt.split("|"); // Split on pipe

Page 35: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Number Methods

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

35

The toString() Method

The valueOf() Method

var x = 123;x.toString(); // returns 123 from variable x(123).toString(); // returns 123 from literal 123(100 + 23).toString(); // returns 123 from expression 100 + 23

var x = 123;x.valueOf(); // returns 123 from variable x(123).valueOf(); // returns 123 from literal 123(100 + 23).valueOf(); // returns 123 from expression 100 + 23

Page 36: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Number Methods (ต่อ)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

36

The parseInt() Method

The parseFloat() Method

parseInt("10"); // returns 10parseInt("10.33"); // returns 10parseInt("10 20 30"); // returns 10parseInt("10 years"); // returns 10parseInt("years 10"); // returns NaN

parseFloat("10"); // returns 10parseFloat("10.33"); // returns 10.33parseFloat("10 20 30"); // returns 10parseFloat("10 years"); // returns 10parseFloat("years 10"); // returns NaN

Page 37: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Date Methods

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

37

ท่ีมา: https://www.w3schools.com/js/js_date_methods.asp

Page 38: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Date Methods (ต่อ)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

38

Date Get MethodsgetTime() Method

getFullYear() Method

getDay() Method

var d = new Date();document.getElementById("demo").innerHTML = d.getTime();

var d = new Date();document.getElementById("demo").innerHTML = d.getFullYear();

var d = new Date();document.getElementById("demo").innerHTML = d.getDay();

Page 39: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Date Methods (ต่อ)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

39

ท่ีมา: https://www.w3schools.com/js/js_date_methods.asp

Page 40: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Date Methods (ต่อ)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

40

Date Set MethodssetFullYear() Method

setDate() Method

var d = new Date();d.setFullYear(2020, 0, 14);document.getElementById("demo").innerHTML = d;

var d = new Date();d.setDate(20);document.getElementById("demo").innerHTML = d;

Page 41: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Array Methods

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

41

Converting Arrays to Strings

Popping and Pushing

var fruits = ["Banana", "Orange", "Apple", "Mango"];document.getElementById("demo").innerHTML = fruits.toString();

var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.pop(); // Removes the last element ("Mango") from fruitsvar x = fruits.pop(); // the value of x is "Mango"

var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.push("Kiwi"); // Adds a new element ("Kiwi") to fruitsvar x = fruits.push("Kiwi"); // the value of x is 5

Page 42: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

JavaScript Array Methods (ต่อ)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

42

Changing Elements

Deleting Elements

var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits[0] = "Kiwi"; // Changes the first element of fruits to "Kiwi"fruits[fruits.length] = "Kiwi"; // Appends "Kiwi" to fruit

var fruits = ["Banana", "Orange", "Apple", "Mango"];delete fruits[0]; // Changes the first element in fruits to undefined

// May be use Pop() method

Page 43: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

Window Method

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

43

setTimeout

setTimeout(function,milliseconds,lang)

setInterval

setInterval(function,milliseconds,lang)

clearTimeout / clearInterval

myVar = setTimeout("javascriptfunction",milliseconds);

clearTimeout(id_of_settimeout)

ที่มา: http://www.w3schools.com/jsref/obj_window.asp

Page 44: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

ตัวอย่างการใช้งาน Window Method

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

44

ที่มา: http://www.w3schools.com/jsref/met_win_clearinterval.asp

var myVar = setInterval(function(){ myTimer() }, 1000);

function myTimer() {var d = new Date();var t = d.toLocaleTimeString();document.getElementById("demo").innerHTML = t;

}

function myStopFunction() {clearInterval(myVar);

}

Page 45: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

HTML Forms

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

45

<!DOCTYPE html><html><body>

<form action="/action_page.php">First name:<br><input type="text" name="firstname" value="Mickey"><br>Last name:<br><input type="text" name="lastname" value="Mouse"><br><br><input type="submit" value="Submit">

</form>

</body></html>

Page 46: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

The <input> Element

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

46

Text Input

Radio Button and CHeckbox Input

Submit and Reset Button<form>First name:<br><input type="text" name="firstname"><br>Last name:<br><input type="text" name="lastname"><input type="radio" name="gender" value="male" checked> Male<br><input type="radio" name="gender" value="female"> Female<br><input type="radio" name="gender" value="other"> Other<br><input type="checkbox" name="vehicle1" value="Bike"> I have a bike<br><input type="checkbox" name="vehicle2" value="Car"> I have a car<input type="submit" value="Submit"><input type="reset" value="Reset">

</form>

Page 47: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

The <input> Element (ต่อ)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

47

Action Method and Name Attribute<form action="/action_page.php" method="post">First name:<br><input type="text" value="Mickey"><br>Last name:<br><input type="text" name="lastname" value="Mouse"><br><br><input type="submit" value="Submit">

</form>

GET/action_page.php?firstname=Mickey&lastname=Mouse

POST has no size limitations, and can be used to send large amounts of data

Page 48: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

The <select> Element

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

48

Defines a drop-down list:

By default, the first item in the drop-down list is selected.

<select name="cars"><option value="volvo">Volvo</option><option value="saab">Saab</option><option value="fiat">Fiat</option><option value="audi">Audi</option>

</select>

<option value="fiat" selected>Fiat</option>

Page 49: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

The <textarea> Element

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

49

Defines a multi-line input field (a text area):

<textarea name="message" rows="10" cols="30">The cat was playing in the garden.</textarea>

Page 50: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

The <button> Element

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

50

Defines a clickable button:

<button type="button" onclick="alert('Hello World!')">Click Me!</button>

Page 51: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

HTML Attributes

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

51

value

readonly

disabled

size

maxlengthFirst name:<br><input type="text" name="firstname" maxlength="10">

First name:<br><input type="text" name="firstname" value="John" readonly>

First name:<br><input type="text" name="firstname" size="50" disabled>

Page 52: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

HTML5 Form Elements

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

52

HTML5 Form Elements

HTML5 added the following form elements:

<datalist>

<keygen>

<output>

HTML5 Input Types

HTML5 added several new input types:

color

date

datetime-local

email

month

number

range

search

tel

time

url

week

HTML5 AttributesHTML5 added the following attributes for <input>:autocompleteautofocusformformactionformenctypeformmethodformnovalidateformtargetheight and widthlistmin and maxmultiplepattern (regexp)placeholderrequiredstepand the following attributes for <form>:autocompletenovalidate

Page 53: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

ตัวอย่าง

Send e-mail to [email protected]

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

53

<!DOCTYPE html><html><body>

<h2>Send e-mail to [email protected]:</h2>

<form action="mailto:[email protected]" method="post" enctype="text/plain">Name:<br><input type="text" name="name"><br>E-mail:<br><input type="text" name="mail"><br>Comment:<br><input type="text" name="comment" size="50"><br><br><input type="submit" value="Send"><input type="reset" value="Reset"></form>

</body></html>

Page 54: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

สรุป (Summary)

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

54

ศึกษาและเรียนรู้เกี่ยวกับการประยุกต์ใช้งานและด าเนินการในภาษา JavaScript ร่วมกับ◼HTML Elements◼HTML Attributes◼CSS Styles

HTML Form เพื่อใช้ส าหรับก าหนดและรวบรวมข้อมูลจากผู้ใช้งาน

Page 55: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

แบบฝึกปฏิบัติ

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

55

ก าหนดให้ประยุกต์ใช้งาน JavaScript ท างานร่วมกับ HTML Form พร้อมกับแสดงผลข้อมูลจากฟอร์ม เพื่อรับข้อมูลการสมัครสมาชิกจากผู้ใช้งาน ดังนี้ ประกอบด้วยข้อมูล ได้แก่ ชื่อ-สกุล สัญชาติ หมายเลขบัตรประจ าตัว

ประชาชน หมายเลขโทรศัพท์ อีเมล และข้อความ CAPCHA

ก าหนดให้ใช้ JavaScript เพื่อตรวจสอบข้อมูลที่จ าเป็นต้องระบุ (ดังรูป)

ถ้าการตรวจสอบข้อมูลผ่านทุกข้อมูล ให้น าไปแสดงผลบน HTML element เช่น Div, P หรืออื่น ๆ

Page 56: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)56

1

** กรุณาตรวจสอบข้อมูลอีกครั้ง **

ตรวจสอบช่องว่าง

ตรวจสอบรูปแบบหมายเลขบัตรฯ

ตรวจสอบตัวเลข

ตรวจสอบรูปแบบอีเมล์

ตรวจสอบช่องว่าง

Page 57: บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) · บทที่ 5 ภาษาจาวาสคริปต์ (JavaScript Language) วัตถุประสงค์การเรียนรู้

เอกสารอ้างอิง

เอกสารประกอบการสอน รายวิชา เทคโนโลยีเว็บ (04-06-204)

57

AJAX Introduction (Online), Available at: http://www.w3schools.com/ajax/ajax_intro.asp

JavaScript Introduction (Online), Available at: http://www.w3schools.com/js/js_intro.asp

JavaScript References (Online), Available at: http://www.w3schools.com/jsref/default.asp

jQuery (Online), Available at: http://jquery.com/

Paul Wilton and Jeremy McPeak, Beginning JavaScript® Fourth Edition, Wiley Publishing, Inc., 2010.