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
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:
- Giáo trình HTML và JavaScript.pdf