Giáo trình HTML và JavaScript

MỤC LỤC

CHƯƠNG 1.1

GIỚI THIỆU CHUNG.1

Các ngôn ngữ đánh dấu dùng cho thiết bị điện tử.1

Ngôn ngữ đánh dấu thiết bị cầm tay.1

Ngôn ngữ đánh dấu vô tuyến.1

Ngôn ngữ đánh dấu siêu văn bản thu nhỏ.1

Các ngôn ngữ đánh dấu văn bản ứng dụng Web.2

Ngôn ngữ đánh dấu siêu văn bản.2

Ngôn ngữ đánh dấu mở rộng.2

Ngôn ngữ XHTML.2

Ngôn ngữ DHTML.3

Ngôn ngữ đánh dấu siêu văn bản (HTML).3

Giới thiệu HTML.3

Đặc điểm của HTML.4

Cấu trúc của một tài liệu HTML.5

Qui trình tạo một tài liệu HTML.6

CHƯƠNG 2.8

CÁC THẺ CƠ BẢN TRONG HTML.8

Thẻ và các thuộc tính của thẻ.8

Các thẻ cơ bản trong HTML.9

Thẻ xác định văn bản HTML.9

Thẻ xác định phần đầu cho trang web.9

Thẻ xác định tiêu đề cho văn bản HTML.9

Thẻ xác định các danh mục trang web.10

Thẻ tạo danh sách.11

Thẻ tạo danh sách không thứ tự.12

Thẻ tạo danh sách có thứ tự.14

Thẻ xác định văn bản trang web.19

Thẻ tạo đường thẳng.19

Thẻ xác định dòng chú thích.21

Các thẻ vận dụng với văn bản.21

Thẻ vận dụng cho kiểu chữ.21

2.3.1.1 Làm chữ đậm.21

2.3.1.2 Làm chữ in nghiêng.22

2.3.1.3 Thay đổi kích thước chữ.23

2.3.1.4 Tạo dòng chữ thấp.23

2.3.1.5 Tạo dòng chữ cao.24

2.3.1.6 Gạch ngang và gạch dưới chữ.25

2.3.1.7 Tạo chữ dạng riêng.25

2.3.1.8 Tạo dạng chữ bị xoá.25

2.3.1.9 Tạo dạng chữ chèn vào.25

Thẻ vận dụng cho hiệu ứng font chữ.25

2.3.2.1 Chọn font chữ cho văn bản.25

2.3.2.2 Đổi cỡ chữ văn bản.26

2.3.2.3 Chọn cỡ chữ mặc định.27

2.3.2.4 Đổi màu chữ.27

2.3.2.5 Làm chữ nhấp nháy.27

Thẻ vận dụng trình bày trang Web.27

Lựa chọn màu nền.27

HTML và JavaScript Trang i

VIETHANIT

Lựa chọn hình ảnh làm nền.28

Chỉnh lề cho trang Web.29

Tạo đoạn văn bản.29

Ngắt đoạn.30

Một số thẻ đặc biệt khác.31

Thẻ làm việc với siêu liên kết.31

Giới thiệu siêu liên kết và URL.31

Sử dụng siêu liên kết.32

Thẻ Meta.38

Các thẻ DIV và SPAN.39

Các thẻ mức đoạn.40

2.5.3.1 Thẻ <ADDRESS>.40

2.5.3.2 Thẻ <BLOCKQUOTE>.41

2.5.3.3 Thẻ <PRE>.42

Sử dụng ký tự đặc biệt trong tài liệu HTML.43

CHƯƠNG.48

LÀM VIỆC VỚI BẢNG - BIỂU MẪU – KHUNG VÀ ĐA PHƯƠNG TIỆN.48

Làm việc với bảng.48

Cách tạo bảng.48

Các thuộc tính của bảng.50

Thuộc tính của thẻ <TABLE>.50

Thuộc tính của thẻ <TR>.50

Thuộc tính của thẻ <TD>.51

Hiệu chỉnh bảng.52

Tạo khung viền cho bảng.52

Thay đổi kích thước bảng.53

Bổ sung cạnh và đường kẻ lưới.53

Trang trí văn bản chung quanh bảng.54

Kết hợp các cột và các dòng.55

Canh lề nội dung trong ô.57

Sử dụng hình ảnh làm nền cho bảng.57

Làm việc với biểu mẫu.59

Sử dụng biểu mẫu.59

Phần tử FORM.59

Các phần tử nhập của HTML.60

Phần tử INPUT.60

Button.61

Textbox.61

Checkbox.61

Radio.62

Submit.62

Ảnh.63

Reset.63

Phần tử TextArea.64

Phần tử BUTTON.65

Phần tử Select.67

Phần tử LABEL.70

Tạo biểu mẫu.71

Thiết lập tiêu điểm (Focus).73

Thứ tự tab.74

Phím truy cập (Access Keys).74

HTML và JavaScript Trang ii

VIETHANIT

Phần tử vô hiệu hoá.74

Làm việc với khung.74

dụng.75

Tại sao sử dụng khung?.75

Làm việc với khung.75

3.3.2.1 Sử dụng khung.75

3.3.2.2 Liên kết các khung.80

3.3.2.3 Phần tử NOFRAMES.81

3.3.2.4 Phần tử IFRAMES (inline frame).82

Làm việc với đa phương tiện.83

Sử dụng hình ảnh trong tài liệu HTML.83

Chèn ảnh tĩnh.84

Chèn ảnh động (.GIF) vào tài liệu HTML.86

Chèn âm thanh vào tài liệu HTML.87

Chèn video vào tài liệu HTML.88

CHƯƠNG 4.89

STYLE SHEET.89

DHTML.89

Giới thiệu DHTML.89

Các đặc điểm của DHTML.90

Style sheet.91

4.2.1 Khái niệm, chức năng và các lợi ích của style sheet.91

4.2.2 Quy tắc stylesheet.94

4.2.3 Các Selector trong style sheet.96

4.2.4 Kết hợp và chèn một style sheet vào tài liệu HTML.103

4.2.5 Thiết lập thuộc tính trong style sheet.105

CHƯƠNG 5.106

TỔNG QUAN VỀ JAVASCRIPT.106

5.1 Giới thiệu về Javascript.106

Javascript.106

Tìm hiểu lịch sử của JavaScript.106

Nguồn gốc của JavaScript.107

JavaScript đến với Internet Explorer.107

JavaScript trở thành chuẩn chính thức.107

JavaScript hiện nay đã phát triển đến đâu?.108

Nhúng Javascript vào file HTML.108

Dùng thẻ <SCRIPT>.109

Dùng file bên ngoài.110

Dùng JavaScript trong trình xử lý sự kiện.111

Thẻ <NOSCRIPT> và </NOSCRIPT>.112

Biến, hằng và các kiểu dữ liệu trong JavaScript.113

5.2.1 Biến và phân loại biến.113

5.2.2 Hằng.114

5.2.3 Các kiểu dữ liệu trong JavaScript.115

5.2.3.1 Kiểu số nguyên.116

5.2.3.2 Kiểu số thực (kiểu số dấu chấm động).116

5.2.3.3 Kiểu Logical (hay Boolean).116

5.2.3.5 Kiểu null.117

Câu hỏi và bài tập.118

CHƯƠNG 6.119

TOÁN TỬ VÀ BIỂU THỨC TRONG JAVASCRIPT.119

HTML và JavaScript Trang iii

VIETHANIT

6.1 Các toán tử trong JavaScript.119

6.1.1 Các toán tử thông dụng.119

6.1.1.1 Toán tử gán.119

6.1.1.2 Toán tử số học.120

6.1.1.3 Toán tử so sánh.121

6.1.1.4 Toán tử logic.122

6.1.1.5 Toán tử thao tác trên bit.123

6.1.1.6 Toán tử chuỗi.125

6.1.2 Một số toán tử khác.126

6.1.2.1 Toán tử điều kiện.126

6.1.2.2 Toán tử dấu phẩy.126

6.1.2.3 Toán tử new.126

6.1.2.4 Toán tử typeof.126

6.1.2.5 Toán tử this.128

6.1.3 Thứ tự ưu tiên của các toán tử.129

6.2 Các biểu thức trong JavaScript.129

6.2.1 Biểu thức regular.130

6.2.2 Tạo ra một biểu thức regular.132

6.2.2.1 Khởi tạo đối tượng (Object initializer).133

6.2.2.2 Gọi hàm khởi tạo của đối tượng RegExp.133

6.2.3 Sử dụng biểu thức regular.134

6.3 Câu hỏi và bài tập.136

CHƯƠNG 7.139

CÂU LỆNH ĐIỀU KIỆN.139

7.1 Lệnh và khối lệnh.139

7.1.1 Lệnh và quy ước lệnh trong JavaScript.139

7.1.2 Khối lệnh.139

7.2 Các câu lệnh điều kiện.139

7.2.1 Câu lệnh if else.139

7.2.2 Câu lệnh switch.143

7.3 Câu hỏi và bài tập.146

CHƯƠNG 8.149

CÂU LỆNH VÒNG LẶP.149

8.1 Các lệnh vòng lặp trong JavaScript.149

8.1.1 Câu lệnh for.149

8.1.2 Câu lệnh do.while.151

8.1.3 Câu lệnh while.152

8.2 Các lệnh chuyển điều khiển trong vòng lặp.153

8.2.1 Câu lệnh label.153

8.2.2 Câu lệnh break.153

8.2.3 Câu lệnh continue.154

8.3 Các lệnh thao tác trên đối tượng.156

8.3.1 Câu lệnh for in.156

8.3.2 Câu lệnh with.157

8.4 Câu hỏi và bài tập.158

CHƯƠNG 9.160

HÀM.160

9.1 Khái niệm và các thao tác trên hàm.160

9.1.1 Khái niệm về hàm.160

9.1.2 Tạo hàm.160

9.1.3 Gọi hàm.162

HTML và JavaScript Trang iv

VIETHANIT

9.1.4 Câu lệnh return.162

9.2 Một số hàm thông dụng được hỗ trợ bởi JavaScript.164

9.2.1 Hàm eval.164

9.2.2 Hàm isFinite.164

9.2.3 Hàm isNaN.165

9.2.4 Các hàm parseInt và parseFloat.165

9.2.5 Các hàm Number và String.166

9.3 Câu hỏi và bài tập.166

CHƯƠNG 10.169

MẢNG.169

10.1 Khái niệm về mảng và các thao tác trên mảng trong JavaScript.169

10.1.1 Khái niệm về mảng.169

10.1.2 Tạo mảng.169

10.1.3 Gán giá trị cho các phần tử mảng.169

10.1.4 Truy cập đến các phần tử mảng.171

10.2 Các phương thức của mảng.171

10.2.1 Phương thức concat.172

10.2.2 Phương thức join.172

10.2.3 Phương thức pop.174

10.2.4 Phương thức push.174

10.2.5 Phương thức reverse.174

10.2.6 Phương thức sort.175

10.3 Mảng hai chiều.176

10.4 Câu hỏi và bài tập.178

CHƯƠNG 11.180

CÁC ĐỐI TƯỢNG CƠ BẢN CỦA JAVASCRIPT.180

11.1 Đối tượng Math.181

11.1.1 Mô tả.181

11.1.2 Các thuộc tính của đối tượng Math.182

11.1.3 Các phương thức của đối tượng Math.183

11.2 Đối tượng String.185

11.2.1 Mô tả.185

11.2.2 Các thuộc tính của đối tượng String.186

11.2.3 Các phương thức của đối tượng String.186

11.2.4 Tìm kiếm trong một chuỗi.188

11.2.5 Định vị các ký tự trong một chuỗi.190

11.3 Đối tượng Date.192

11.3.1 Mô tả.192

11.3.2 Các nhóm phương thức của đối tượng Date.193

11.3.3 Các phương thức của đối tượng Date.193

11.3.3.1 Nhóm phương thức get.193

11.3.3.2 Nhóm phương thức set.194

11.3.3.3 Nhóm phương thức to.194

11.3.3.4 Nhóm phương thức parse và UTC.194

11.4 Câu hỏi và bài tập.195

CHƯƠNG 12.199

XỬ LÝ FORM VÀ CÁC SỰ KIỆN CHO CÁC PHẦN TỬ TRÊN FORM.199

12.1 Giới thiệu về đối tượng form.199

12.1.1 Mô tả đối tượng.199

12.1.2 Các thuộc tính và phương thức của đối tượng form.199

12.2 Xử lý sự kiện trong JavaScript.201

HTML và JavaScript Trang v

VIETHANIT

12.2.1 Khái niệm về sự kiện và trình xử lý sự kiện.201

12.2.2 Các sự kiện JavaScript phổ biến.202

12.2.3 Làm việc với trình xử lý sự kiện.212

12.2.3.1 Trình xử lý sự kiện cho các thẻ HTML.212

12.2.3.2 Trình xử lý sự kiện như là những thuộc tính.213

12.3 Sử dụng sự kiện cho các thành phần trên form.214

12.3.1 Đối tượng Textfield (Trường văn bản).214

12.3.2 Đối tượng Command Button.216

12.3.3 Đối tượng Checkbox.217

12.3.4 Đối tượng radio.219

12.3.5 Đối tượng ComboBox (lựa chọn).222

12.3.6 Kiểm tra tính hợp lệ của nội dung các trường trên form.222

12.4 Câu hỏi và bài tập.227

pdf236 trang | Chuyên mục: HTML | Chia sẻ: dkS00TYs | Lượt xem: 3213 | Lượt tải: 3download
Tóm tắt nội dung Giáo trình HTML và JavaScript, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
uy nhiên đối với các nút radio thì khác, một khi 
đã được bật, thì tất cả các radio khác đều ở chế độ tắt, ta không thể thay đổi trạng thái 
của radio này bằng cách nhấp vào nó như đối với checkbox. Trạng thái này của các nút 
giữ nguyên cho đến khi một radio khác được bật. Lúc này, chỉ có radio mới được bật 
là ở trạng thái bật còn các radio khác đều ở chế độ tắt.
HTML và JavaScript Trang 219
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 Ví dụ sau minh họa đối tượng radio. Cũng tương tự như ví dụ 9.11, nhưng trong 
ví dụ này, checkbox được thay bằng hai nút radio, một nút là “bật đèn” (Light on) và 
một nút là “tắt đèn” (Light off). Với chức năng tương tự, khi chọn “Light on” thì màu 
nền sẽ là màu trắng, và thông báo kèm theo sẽ là “Thanks!”, ngược lại, nếu chọn 
“Light off” thì màu nền sẽ chuyển thành màu đen, và sẽ hiển thị thông báo “Hey! Turn 
that back on!”.
 Ví dụ 12.13:
 Option Button Events 
 function offButton()
 {
 var the_box=window.document.form_1.radio_1;
 if (the_box.checked == true)
 {
 window.document.form_1.radio_2.checked 
 = false;
 document.bgColor='black';
 alert ("Hey! Turn that back on!");
 }
 }
 function onButton()
 {
 var the_box=window.document.form_1.radio_2;
 if (the_box.checked == true)
 {
 window.document.form_1.radio_1.checked 
 = false;
 document.bgColor='white';
 alert ("Thanks!");
 }
 }
 <INPUT TYPE="radio" NAME="radio_1" 
HTML và JavaScript Trang 220
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 onClick="offButton();">
 Light off
 <INPUT TYPE="radio" NAME="radio_2" 
 onClick="onButton();" checked>
 Light on
 Kết quả:
 Hình 12.12.1: Khi chọn Light on
HTML và JavaScript Trang 221
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 Hình 12.12.2: Khi chọn Light off
 12.3.5 Đối tượng ComboBox (lựa chọn)
 Đối tượng ComboBox xuất hiện trong form HTML giống như một danh sách đổ 
xuống hoặc danh sách cuộn của các tùy chọn.
 Danh sách tùy chọn được mô tả giứ hai thẻ và bằng 
cách sử dụng thẻ 
 ComboBox hỗ trợ các sự kiện onBlur, onFocus, và onChange.
 12.3.6 Kiểm tra tính hợp lệ của nội dung các trường trên form
 Chương trình dưới đây là một ví dụ về việc kiểm tra tính hợp lệ của nội dung các 
trường trên form trước khi chuyển nó cho server để tiếp tục xử lý. Trong quá trình 
kiểm tra tính hợp lệ của nội dung các trường trên form, người lập trình phải kiểm tra 
từng trường để bảo đảm rằng không có trường nào bị bỏ trống hoặc chứa các thông tin 
không hợp lệ.
 Ví dụ 12.14:
 Form events 
 function validateFirstName()
 {
 var str=form1.fname.value;
 if (str.length == 0)
 {
 alert ("The first name cannot be 
 empty");
 return false;
 }
 return true;
 }
 function validateLastName()
 {
 var str=form1.lname.value;
 if (str.length == 0)
 {
 alert ("The last name cannot be 
 empty");
 return false;
 }
HTML và JavaScript Trang 222
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 return true;
 }
 function validateEmail()
 {
 var str=form1.email.value;
 if (str.length == 0)
 {
 alert ("The Email field cannot be 
 empty");
 return false;
 }
 }
 function proccessForm()
 {
 disp = open("","result")
 disp.document.write(" Result Page 
 "+"")
 disp.document.write("" + 
 "Thanks for signing in " + 
 ""+""+"")
 disp.document.write("First name \t\t:" + 
 form1.fname.value+"")
 disp.document.write("Last name \t\t:"+ 
 form1.lname.value+"")
 disp.document.write("Email \t\t\t:" + 
 form1.email.value+"")
 disp.document.write("Your comments \t\t:" + 
 form1.comment.value+"")
 disp.document.write("")
 if (disp.confirm("Is this information 
 correct"))
 disp.close()
 }
 Handling Form 
 Events
HTML và JavaScript Trang 223
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 First name: <INPUT TYPE="text" NAME="fname" 
 size=10 onBlur = "validateFirstName()">
 Last name: <INPUT TYPE="text" NAME="lname" 
 size=15 onBlur = "validateLastName()">
 Email: <INPUT TYPE="text" NAME="email" 
 size=10 onBlur = "validateFirstName()">
 Comments: <TEXTAREA NAME="comment" rows=4 
 cols=30>Enter your comments 
 <INPUT TYPE = "button" 
 VALUE="Submit this form" onClick = 
 "proccessForm()">
 Kết quả:
 Hình 12.10.1: Kết quả ví dụ 9.11
HTML và JavaScript Trang 224
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 Hình 12.10.2: Sau khi nhập thông tin vào form
 Hình 12.10.3: Sau khi bấm nút “Submit this form”
HTML và JavaScript Trang 225
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 Chúng ta xét tiếp ví dụ sau, ví dụ này là đoạn chương trình kiểm tra tính đúng 
đắn của một địa chỉ email được nhập vào qua Textbox.
 Ví dụ 12.15:
 Email Validation 
 function IsEmailValid (Formname,ElemName)
 {
 var EmailOk = true;
 var Temp = ElemName;
 var AtSym = Temp.value.indexOf ('@');
 var Period =Temp.value.lastIndexOf('.');
 var Space = Temp.value.indexOf(' ');
 var Length = Temp.length -1;
 if ((AtSym <1)||(Period<=AtSym+1)||(Period ==Length)||(Space 
 >=0))
 {
 EmailOk=false
 alert('Please enter a valid email address!')
 Temp.focus()
 }
 else
 alert('This is a valid email address!')
 return EmailOk
 }
 Please enter your email address: <input type = "text" name = 
 "text1">
 <input type= "button" value = "Check email address" onClick = 
 "IsEmailValid('frm', frm.text1);">
 Kết quả:
HTML và JavaScript Trang 226
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 Hình 12.11.1: Một địa chỉ email hợp lệ
 Hình 12.11.1: Kiểm tra địa chỉ email không hợp lệ, yêu cầu người dùng nhập lại
 12.4 Câu hỏi và bài tập
 1. Sự kiện onChange có được tạo ra khi một radio button hoặc một checkbox 
 được nhấp hay không ?_________ (Có/Không )
 2. Sự kiện _________ được tạo ra bất cứ khi nào con trỏ chuột di chuyển lên 
 trên một phần tử.
 3. Sự kiện _________ được tạo ra bất cứ khi nào con trỏ chuột di chuyển ra khỏi 
 phần tử đó.
 4. Sự kiện _________ được kích hoạt khi hành động nhấp chuột xảy ra.
 5. Sự kiện _________ được kích hoạt khi hành động nhả chuột xảy ra.
HTML và JavaScript Trang 227
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 6. Khi một sự kiện được khởi tạo, chúng ta có thể tạo ra một đoạn mã JavaScript 
 để đáp ứng lại sự kiện. Đoạn mã này được gọi là _________.
 7. Các Textfield nhận biết các sự kiện onBlur, onFocus, và onChange. Trong đó: 
 • Sự kiện _________ xảy ra khi người dùng có sự thay đổi bên trong trường 
 text và sau đó di chuyển ra khỏi trường văn bản. 
 • Sự kiện _________ xảy ra khi người dùng di chuyển ra khỏi trường text 
 bằng cách nhấp chuột bên ngoài nó hoặc nhấn phím “tab”. 
 • Sự kiện _________ xảy ra khi người dùng nhấp chuột vào trường text. 
 8. Trong một form, ta có thể chọn nhiều nút radio trong cùng một nhóm. 
 ___________ (Đúng/Sai)
 9. Đối tượng _________ xuất hiện trong form HTML giống như một danh sách 
 sổ xuống hoặc danh sách cuộn của các tùy chọn.
Bài tập thực hành chương 12:
HTML và JavaScript Trang 228
VIETHANIT Chương 12. Xử lý form và các sự kiện cho các phần tử trên form 
 1. Hãy viết một trang web, gồm có một textbox và hai nút radio như hình dưới
 Yêu cầu: Viết một hàm JavaScript, khi kích vào nút radio “Disabled” thì giá trị 
 trong textbox ẩn, và khi chọn nút radio “abled” thì cho textbox soạn thảo được. 
 2. Hãy viết một trang web, tương tự bài 1 gồm có một button và một nút 
 CheckBox như hình dưới. Khi kích vào CheckBox thì cho button này ẩn đi.
 3. Hãy viết một trang web, chèn một textbox, gõ nội dung vào textbox. Khi 
 textBox mất focus (tiêu điểm) thì sẽ có một hộp thông báo hiển thị nội dung 
 của textbox. 
 4. Hãy viết một trang web, chèn một textbox và một button. Nếu không nhập 
 nội dung vào textbox thì button này sẽ bị ẩn (thuộc tính disabled của button 
 bằng true), khi nội dung được nhập vào textbox thì button này sẽ xuất hiện. 
 Bấm vào button thì sẽ xuất hiện một thông báo nội dung vừa nhập trong 
 textbox.
 5. Thiết kế một form gồm có hai textbox và một nút lệnh button, textbox1 để 
 người dùng nhập username, textbox2 để người dùng nhập password (khi 
 người dùng gõ vào textbox này thì trên textbox chỉ hiển thị các dấu * thay vì 
 nội dung đang nhập). Sau khi nhập nội dung vào hai textbox này, nhấn vào 
 nút lệnh thì username và password của người dùng sẽ được hiển thị trong một 
 thông báo.
 6. Làm lại ví dụ 9.14 trong chương này, yêu cầu các trường không được để 
 trống, và email nhập vào phải là một địa chỉ email hợp lệ. Nếu email không 
 hợp lệ thì chỉ buộc người dùng nhập lại dịa chỉ email (Các trường khác không 
 bắt buộc nhưng vẫn có thể thay đổi nội dung được).
HTML và JavaScript Trang 229
VIETHANIT 
TÀI LIỆU THAM KHẢO
 [1] Căn bản thiết kế Web, Nhà xuất bản thống kê.
 [2] Nguyễn Viết Linh (2002), Hướng dẫn lập trình và tham khảo toàn diện JavaScript, 
 NXB Thanh Niên, Bến Tre.
 [3] Nguyễn Trường Sinh (2006), Học nhanh JavaScript bằng hình ảnh, NXB Lao động 
 xã hội.
 [4] Nguyễn Trường Sinh (2005), Thiết kế Web động với JavaScript, NXB Lao động xã 
 hội
 [5] Lê Minh Trí (2000), JavaScript, NXB Trẻ và Công ty văn hóa Phương Nam, TP Hồ 
 Chí Minh.
 [6] Thiết kế trang Web cá nhân bằng ngôn ngữ HTML, Nhà Xuất bản thống kê
 [7] Thu Nhi, Thiết kế trang Web với HTML, NXB Trẻ
 [8] Trung tâm đào tạo lập trình viên quốc tế Softech – Aptech, Giáo trình HTML và 
 JavaScript.
 [9] JavaScript 2.0: The Complete Reference, Second Edition
 by Thomas Powell and Fritz Schneider.
 McGraw-Hill/Osborne © 2004 
 [10] JavaScript & DHTML Cookbook
 By Danny Goodman 
 Publisher: O’Reilly
 [11] JavaScript: The Definitive Guide, 4th Edition
 By David Flanagan
 Publisher: O’Reilly
 [12] Learning JavaScript
 By Shelley Powers
 Publisher: O’Reilly
HTML và JavaScript 

File đính kèm:

  • pdfGiáo trình HTML và JavaScript.pdf