1. Trang chủ
  2. » Công Nghệ Thông Tin

cơ bản về html, javascript, css và asp

87 291 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 87
Dung lượng 2,65 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Truy xuất thuộc tính của các phần tử HTML bằng câu lệnh JavaScript • Viết lệnh xử lý một số sự kiện đơn giản.. Ví dụ 4: Lấy đọc giá trị của một phần tử HTML Tạo 2 phần tử như trong ví

Trang 1

Cơ bản về HTML, JAVASCRIPT, CSS và ASP

Bởi:

Khoa CNTT ĐHSP KT Hưng Yên

Trang 3

Cơ bản về HTML, JAVASCRIPT, CSS và ASP

Trang 4

Tài liệu được hiệu đính bởi: August 20, 2010

Ngày tạo PDF: August 20, 2010

Để biết thông tin về đóng góp cho các module có trong tài liệu này, xem tr 79

Trang 5

Nội dung

1 Phần A

1.1 Tạo các phần tử HTML cơ bản 1

1.2 Bài tập cơ bản về JavaScript 5

1.3 Sử dụng các lớp xử lý Chuỗi, Ngày tháng, Toán học 7

1.4 Xử lý sự kiện trong trang HTML với JavaScript 16

1.5 Định dạng các phần tử HTML bằng CSS 29

1.6 Tạo và xử lý các tầng (Layer) 42

1.7 Nội dung động và định vị động 49

2 Phần B 2.1 ASP 55

2.2 Cấu trúc của một file ASP 58

2.3 Các đối tượng Server 59

2.4 Kết nối và thao tác với CSDL trong ASP 75

Attributions 79

Trang 7

Chương 1

Phần A

Mục tiêu: Kết thúc chương này, người học có thể

• Tạo các phần tử HTML cơ bản bằng cách code trực tiếp

• Dùng Notepad tạo một trang web chứa các phần tử HTML

Nội dung

Giới thiệu

Trong nhiều ứng dụng web không phải lúc nào chúng ta cũng có thể sử dụng trình soạn thảo tích hợpkiểu như Frontpage hay Dreamweaver để thiết kế giao diện, đặc biệt là khi giao diện này có liên quan đếnyếu tố lập trình, khi đó người lập trình phải tạo các phần tử HTML hoàn toàn thủ công (Code chứ khôngdùng kéo thả) Do vậy, việc hiểu cú pháp để tạo các phần tử HTML là vô cùng quan trọng

1.1.1 Cú pháp chung:

• <Tên_Loại_Phần_Tử <Thuộc tính 1> = “Giá trị” <Thuộc Tính> = “Giá trị” >

• <Tên_Loại_Phần_Tử Style = “Thuộc_tính: giá_trị; thuộc_tính : giá trị ; ; >

• Kết hợp cả hai cách

Trong đó :

1 This content is available online at <http://voer.edu.vn/content/m16572/1.2/>.

1

Trang 8

Figure 1.1

Phần “giá trị” có thể đặt trong cặp ngoặc kép hoặc cặp ngoặc đơn hoặc không cần !!

Nếu đặt thuộc tính theo cách 2, thì có thể tham chiếu bảng sau (gọi là theo cú pháp CSS)

Trang 9

• Tạo ComboBox (chỉ cần bỏ thuộc tính size)

<select name="Mon" size = 1 onChange="Call DocGiaTriListBox">

<option value = "Visual Basic">Visual Basic</option>

<option value = "DOT_NET">Lập trình NET</option>

<option value = "ASP">Lập trình ASP</option>

</select>

• Tạo hộp kiểm

<Input name="chkVB" type="checkbox" value="Visual Basic" checked> Visual Basic

<Input name="chkASP" type="checkbox" value="ASP "> Active Server Pages

• Tạo nút Radio

<Input name="GioiTinh" type="radio" value="Nam" checked>

<Input name="GioiTinh" type="radio" value="Nữ" >

<Input name="TinhTrang" type="radio" value="Đã lập gia đình" >

<Input name="TinhTrang" type="radio" value="Độc thân" checked >

Tên giống nhau thì sẽ thuộc về cùng một nhóm (Groups)

• Phần tử chọn File

<Input name="ChonFile" type="file" size="30">

• Tạo textbox ẩn (Hidden)

<Input name="PhanTuAn" type="hidden" value="">

Tạo các phần tử và đặt thuộc tính:

+ Tạo một textbox và đặt thuộc tính font:

<FONT FACE = “Times New Roman”>

<Input type = text value = “Font chữ Unicode đây !”>

</FONT>

+ Tạo một textbox và đặt thuộc tính thông qua phong cách CSS:

<Input type = text value = “Font Unicode” Style = “Font-Family:Times new roman”>

+ Tạo một nhãn có font chữ xanh, có hiệu ứng:

<P Style =”Color:Blue; font-size:20; Text-Align:center”>Xin chào </p>

+ Tạo một nút nhấn có màu nền đỏ:

<Input type = button style=”font-family:arial; background-color:red” value = “Đỏ”>

Trang 10

Figure 1.2

Trang 11

5Kết quả

1.2 Bài tập cơ bản về JavaScript2

1.2.1 Mục tiêu:

Kết thúc chương này người học có thể:

• Viết các câu lệnh JavaScript và nhúng vào trang web

• Sử dụng được các đối tượng nhập xuất Promt, document.write

• Truy xuất thuộc tính của các phần tử HTML bằng câu lệnh JavaScript

• Viết lệnh xử lý một số sự kiện đơn giản

<script language = "JavaScript">

var Ten, Tuoi; // Khai báo 2 biến để lưu tên và tuổi

Ten = prompt("Bạn hãy nhập vào tên ", "");

Tuoi = prompt("Bạn hãy nhập vào Tuổi : ", 20);

Ví dụ 2: Tạo một nút nhấn (button) có name là welcome, value là " Welcome " Một textbox có tên

là msg, value = "Welcome to"

Hướng dẫn : Sử dụng phương thức (hàm) write của đối tượng document để tạo

Giải mẫu:

<HTML>

<HEAD> </HEAD>

<BODY>

<script language = "JavaScript">

document.write("Tao Button va Text bang Script<BR>");

document.write("<BR>");

document.write("<input type=button name=welcome value = ’Welcome’ ");

document.write("onclick = ’alert (’Welcome to JavaScript’);’ > ");

document.write("<input type = text name = msg value = ’Welcome to’>");

Trang 12

Hướng dẫn: Dùng thẻ để tạo nút nhấn và thêm thuộc tính onClick = "<Câu lệnh JavaScript>;" (Trong

đó <Câu lệnh JavaScript> có thể là một lệnh JavaScript bất kỳ, ví dụ lệnh document.write, alert, prompthoặc lệnh gọi hàm v.v )

Ví dụ 4: Lấy (đọc) giá trị của một phần tử HTML

Tạo 2 phần tử như trong ví dụ 2 bằng thẻ HTML, khi người dùng click chuột vào nút Welcome thì hiểnthị nội dung chứa trong text có tên là msg

Hướng dẫn: Để lấy giá trị của một phần tử HTML, bạn viết <Tên phần tử>.value

Ví dụ: msg.value cho ta giá trị của text tên là msg

Giải mẫu:

<HTML>

<HEAD> </HEAD>

<BODY>

<input type = button name = welcome value = "Welcome" onclick = "alert(msg.value)">

<input type = text name = msg value = "Welcome to JavaScript" size = 30>

</BODY>

</HTML>

Ví dụ 5: Khai báo hàm trong JavaScript và cách liên kết nút nhấn với một hàm

Tạo 2 phần tử như ví dụ 2, khi người dùng nhấn nút thì gọi một hàm có tên là HienThi, hàm hiển thị

có chức năng hiển thị nội dung trong text có tên là msg ở trên

Hướng dẫn: Trong thẻ tạo button, bạn đặt thuộc tính onClick = "<Tên hàm>", trong trường hợp nàybạn đặt OnClick = "HienThi()" Điều này có nghĩa là khi người sử dụng Click chuột (OnClick = Click chuột)thì trình duyệt hãy gọi hàm HienThi() Cũng giống như trong ngôn ngữ C, Một hàm bắt buộc phải có cặpngoặc đơn, cho dù có tham số hay không Ví dụ khi gọi hàm HienThi thì bạn phải viết là HienThi().Giải mẫu:

<HTML>

<HEAD>

<Script Language = "JavaScript">

function HienThi() // Khai báo một hàm tên là HienThi

{

alert(msg.value); // Lấy nội dung trong text box và hiển thị

alert("Bạn hãy nhập vào ô text và thử lại !");

}

</Script>

</HEAD>

<BODY>

<input type = button name = welcome value = "Welcome" onclick = "HienThi()">

<input type = text name = msg value = "Welcome to JavaScript" size = 30>

</BODY>

Trang 13

Kết thúc bài học này, người học có thể.

• Mô tả được công dụng của các lớp xử lý Chuỗi (String), xử lý ngày tháng (Date) và xử lý các hàmtoàn học Math

• Sử dụng được một số phương thức, thuộc tính cơ bản của các lớp này

• Vận dụng viết một số trang web đơn giản có sử dụng đến 3 lớp trên

1.3.2 Nội dung:

Bài tập 1: Minh hoạ cách khai báo và sử dụng đối tượng Date để ngày giờ của hệ thống

Yêu cầu: Hãy hiển thị ngày và giờ của hệ thống máy tính khi trang Web được nạp Thông tin hiển thị

Bài tập 2: Minh hoạ sử khai báo và dùng đối tượng Date để lấy Giờ, phút, giây của hệ thống

Yêu cầu: Hiển thị Giờ và phút trong thanh tiêu đề của cửa sổ khi trang Web được nạp

Hướng dẫn: Giá trị hiển thị trong thanh tiêu đề của trang web được lưu trong thuộc tính title của đốitượng document, do vậy để hiển thị thông tin trên thanh tiêu đề, bạn cần viết: document.title = <Giátrị> Ví dụ, để hiển thị dòng chữ "Hello Every body !", bạn viết: document.title "Hello Every body !"Minh hoạ:

3 This content is available online at <http://voer.edu.vn/content/m16578/1.2/>.

Trang 14

<BODY>

<script language="JavaScript">

var D = new Date();

document.title = "Bây giờ là: " + D.getHours()+" giờ "+ D.getMinutes()+ " phút.";

</script>

</BODY>

</HTML>

Bài 3: Vận dụng biến đối tượng Date để tính tuổi của một người

Yêu cầu : Cho người dùng nhập vào năm sinh của họ, sau đó hiển thị tuổi tương ứng

Hướng dẫn: Sử dụng đối tượng Date để lấy năm hiện tại Tuổi sẽ bằng năm hiện tại trừ đi năm sinh vừanhập vào

Minh hoạ mẫu:

<HTML>

<TITLE>Tính tuổi</TITLE>

<BODY>

<scriptlanguage="JavaScript">

var D = new Date();

var NamSinh, NamHienTai;

NamHienTai = D.getYear(); // Lưu năm hiện tại vào biến

NamSinh = prompt("Bạn sinh năm bao nhiêu ? : ","");

alert("Tuổi của bạn bây giờ là : " + (NamHienTai-NamSinh));

</script>

</BODY>

</HTML>

Bài 4: Tương tự như bài 3 nhưng Năm sinh nhập vào không được lớn hơn năm hiện tại

Hướng dẫn:Sử dụng vòng lặp do .while để yêu cầu nhập lại nếu năm sinh > năm hiện tại

Minh hoạ mẫu:

var NamSinh, NamHienTai;

NamHienTai = D.getYear(); //Lưu năm hiện tại vào biến

do {

NamSinh = prompt("Bạn sinh năm bao nhiêu : ","");

} while (parseInt(NamSinh)>NamHienTai); //Nhập lại nếu Năm sinh>năm hiện tại

alert("Tuổi của bạn bây giờ là : " + (NamHienTai-NamSinh));

Yêu cầu: Viết đoạn Script cho người dùng nhập vào một số nguyên Nếu người dùng nhập số 1 thì

mở trang Web http://www.vnn.vn, nếu nhập số 2 thì mở trang http://www.mail.yahoo.com, nếu nhập

số 3 thì mở trang http://www.echip.com.vn, còn nếu nhập một số khác với 1, 2 hay 3 thì mở tranghttp://www.google.com

Hướng dẫn: Để mở một trang Web bất kỳ trong cửa sổ hiện hành bạn viết như sau:

window.open("Địa chỉ của trang cần mở")

Trang 15

Ví dụ : window.open(http://www.vnn.vnn4) để mở trang chủ của VNN trong cửa sổ hiện tại

Như vậy, để giải quyết yêu cầu của bài toán trên , bạn cần cho người dùng nhập vào một số và sử dụngcấu trúc switch để kiểm tra và mở trang web tương ứng

Minh hoạ mẫu:

<HTML>

<TITLE>Mở trang web với hàm open của đối tượng window</TITLE>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

case "1" : window.open("http://www.vnn.vn"); break;

case "2" : window.open("http://www.mail.yahoo.com"); break;

case "3" : window.open("http://www.echip.com.vn"); break;

Minh hoạ mẫu:

var DS = newArray(100); // Khai báo mảng DS, có thể lưu tối đa là 100 phẩn tử

SoLuong = prompt("Bạn cần nhập bao nhiêu người : ", 5);

for (i=0; i < SoLuong; i++)

Trang 16

</BODY>

</HTML>

*** Nhận xét: Nếu muốn sắp theo chiều giảm dần thì sau khi sort bạn gọi hàm reverse

Bài số 7: Minh hoạ việc đưa các câu lệnh JS vào trong một thẻ khi người dùng click chuột

Yêu cầu: Tạo một nút nhấn (Button) có name = "DangKy", value = "Đăng ký" Khi người dùng Clickvào nút này thì thông báo là "Đăng ký dịch vụ E-Mail"

Hướng dẫn: Đối với các phần tử HTML, như textbox, button, checkbox, Select v.v Các trình duyệtđều cho phép ta thực thi một hoặc nhiều câu lệnh JavaScript khi người sử dụng click chuột lên các phần tử

đó Vấn đề ở chỗ, viết các câu lệnh đó như thế nào ?

Để viết các câu lệnh JavaScript khi người dùng click chuột lên một phần tử nào đó, trong thẻ của phần

tử này, ta viết như sau: OnClick = "Các câu lệnh JavaScript"

"Các câu lệnh JavaScript" ở đây là bất kỳ câu lệnh JavaScript nào và chúng phải được cách nhau bởidấu chấm phảy Ngoài ra, các câu lệnh phải đặt trong cặp dấu nháy kép (Hoặc nháy đơn)

Ví dụ một số cách đưa câu lệnh JavaScript cần thực thi khi người dùng click chuột

1 Onclick = "alert(’Hello world’;"

2 OnClick = ’document.write("Welcome to JavaScript");’

3 OnClick = "var x,y; x = 10; y = 20; alert(’Tổng là : ’ + (x + y)); "

4 OnClick = "var Tuoi; Tuoi = txtTuoi.value; KiemTra(Tuoi);"

5 OnClick = "KiemTra();"

Theo ví dụ trên, Khi người sử dụng Click :

1 : Thực hiện câu lệnh alert(’Hello world’)

2 : Thực hiện câu lệnh document.write(’Welcome to JavaScript’);

3 : Thực hiện NHIỀU câu lệnh JavaScript

4 : Thực hiện nhiều câu lệnh JavaScript và có lời gọi đến hàm KiemTra(Tuoi)

5 : Thực hiện câu lệnh gọi hàm KiemTra()

Minh hoạ mẫu:

<HTML>

<HEAD>

<TITLE>Minh hoạ đưa câu lệnh JavaScript vào các phần tử</TITLE>

<META http-equiv="Content-Type" content="text/html; charset=utf-8">

Trang 17

Figure 1.4

Bài số 8: Minh hoạ cách thay đổi thuộc tính của một đối tượng thông qua việc viết các câu lệnh JavaScript.Tạo một nút có name = ThayMauNen, value = "Thay đổi màu nền" Khi người dùng click chuột vàonút này thì thay đổi màu nền của trang Web thành màu "xanh"

Hướng dẫn: Để thay đổi màu nền của trang Web thành màu, ta cần thay đổi thuộc tính ment.bgColor = "blue" (Màu đỏ là red, tìm : magenta, đen: black, trắng: white, vàng: Yellow, tím nhạt:lavender) Như vậy, câu lệnh này sẽ được đặt trong phần onClick như sau:

docu-<HTML>

<HEAD>

<TITLE>Thay mau nen bang click chuot</TITLE>

<META http-equiv="Content-Type" content="text/html; charset=utf-8">

</HEAD>

<BODY>

<h2>Thay đổi màu nền sử dụng đối tượng document</h2>

<INPUT type="button" name="ThayMauNen" value="Thay đổi màu nền"

onClick="document.bgColor = ’blue’ ">

</BODY>

</HTML>

Bài số 9: Minh hoạ việc đọc giá trị trong phần tử text và hiển thị ra màn hình

Yêu cầu: Tạo một hộp text có tên là HoTen Một nút có tên là HienThi, value = "Hiển thị" Khi ngườidùng click vào nút HienThi thì hiển thị nội dung trong hộp text đó bằng hàm alert

Hướng dẫn: Để lấy giá trị của một phần tử HTML nào đó, chúng ta viết

<Tên phần tử>.value

Trong đó: <Tên phần tử> chính là giá trị của thuộc tính name khi bạn tạo thẻ

Ví dụ : - Hoten.value, DangKy.value, GioiTinh.value, Password.value v.v

Trang 18

<h2>Hãy gõ văn bản vào trong hộp text và click vào nút Hiển thị</h2>

<INPUT type="text" name="HoTen" >

<INPUT type="button" name="HienThi" value="Hiển thị" onClick="alert(HoTen.value); ">

Bài số 10: Minh hoạ việc thay đổi giá trị của hộp textbox

Yêu cầu: Tạo ra ba hộp text lần lượt tên là SoHang1, SoHang2, KetQua và một nút có tên là TinhTong,

để thực hiện phép tính tổng Khi người dùng nhập hai số hạng vào hộp SoHang1 và SoHang2, sau đó clickvào nút TinhTong thì kết quả tổng sẽ được lưu vào trong hộp text KetQua

Hướng dẫn: Để thay đổi giá trị một thuộc tính nào đó của phần tử HTML, bạn viết theo cách sau:

<Tên của phần tử>.<Tên thuộc tính> = <Giá trị mới>

Trong đó: Tên phần tử chính là giá trị của thuộc tính name khi bạn tạo thẻ

Ví dụ: HoTen.value = "Đây là văn bản mới", DangKy.value = "Sign Up now", v.v

<HTML>

<HEAD>

<TITLE>Thay đổi giá trị của thuộc tính</TITLE>

<META http-equiv="Content-Type" content="text/html; charset=utf-8">

</HEAD>

<BODY>

<h2>Hãy nhập hai số và click vào nút Tính tổng</h2>

<INPUT type="text" name="SoHang1" > +

<INPUT type="text" name="SoHang2"> =

<INPUT type="text" name="KetQua">

<INPUT type="button" value="Tính tổng"

onClick="KetQua.value = parseFloat(SoHang1.value) + parseFloat(SoHang2.value)">

Trang 19

Bài tập 11: Minh hoạ việc gọi hàm khi người dùng click vào một nút

Yêu cầu:Tạo ra 4 text có tên lần lượt là : MauNen, MauChu, TieuDe, TrangThai và một nút có tên làThayDoi, value là "Thay đổi" Khi người dùng click vào nút ThayDoi thì màu nền, màu chữ, tiêu đề của tàiliệu và thanh trạng thái của cửa sổ trình duyệt sẽ được thay đổi bằng các giá trị trong text tương ứngHướng dẫn: Bạn hoàn toàn có thể viết nhiều câu lệnh trong thuộc tính OnClick như các ví dụ trước, tuynhiên nếu có nhiều lệnh thì chương trình trông không được sáng sủa cho lắm Khi đó bạn có thể nhóm cáccâu lệnh vào trong một hàm và trong thuộc tính OnClick bạn chỉ việc gọi hàm này ra

Minh hoạ mẫu

document.title = TieuDe.value; /* Thay đổi tiêu đề của trang Web */

document.bgColor = MauNen.value; /* Thay đổi màu nền của trang */

document.fgColor = MauChu.value; /* Thay đổi màu chữ của trang */

window.defaultStatus = TrangThai.value; /* Thay đổi dòng trạng thái của cửa sổ */

}

</SCRIPT>

<BODY>

<h2>Nhập vào các giá trị và nhấn nút Thay đổi</h2>

<INPUT type="text" name="TieuDe" value="Tiêu đề mới">

<INPUT type="text" name="MauNen" value="Nhập màu vào đây (ví dụ blue)"> <BR>

<INPUT type="text" name="MauChu" value="Nhập màu chữ vào đây (ví dụ white)">

<INPUT type="text" name="TrangThai" value="Nhập dòng trạng thái vào đây "> <BR>

<INPUT type="button" name ="ThayDoi" value="Thay đổi" onClick="Ham( );">

</BODY>

</HTML>

Nhận xét:Ở ví dụ trên, khi người dùng click chuột lên nút ThayDoi thì hàm CapNhat( ) sẽ được gọi

Figure 1.6

Trang 20

Figure 1.7

Trang 21

Figure 1.8

Trang 22

Figure 1.9

1.4.1 Mục tiêu của chương:

• Giúp học viên nhận biết được khi nào sự kiện xảy ra

• Viết các câu lệnh JavaScript đặt vào các sự kiện khi nó xảy ra

• Vận dụng linh hoạt vào viết chương trình

1.4.2 Nội dung:

1.4.2.1 Nhắc lại khái niệm sự kiện (event)

Sự kiện là những hành động do người dùng hoặc hệ thống gây ra Các hành động do người dùng gây ra cóthể là di chuyển chuột, nhấn chuột, nhả chuột, nhấn phím, nhả phím, copy, kéo giãn cửa sổ, di chuyển cửa

sổ v.v Các sự kiện do hệ thống gây ra có thể là nạp tài liệu, đóng cửa sổ v.v

Khi sự kiện xảy ra, nó sẽ tự động thực thi các câu lệnh JavaScript tương ứng với sự kiện đó(nếu chúng ta đã định nghĩa chương trình xử lý sự kiện tương ứng)

1.4.2.2 Bảng liệt kê các sự kiện và tên tương ứng

Mỗi sự kiện khi xảy ra chúng đều có một cái tên và thường bắt đầu bằng từ on, ví dụ như onClick,onChange cụ thể được mô ta như trong bảng dưới đây:

5 This content is available online at <http://voer.edu.vn/content/m16581/1.2/>.

Trang 23

Figure 1.10

Trang 24

Figure 1.11

Vậy áp dụng tên các sự kiện đã liệt kê ở trên như thế nào ?

Nếu bạn đã biết khi nào một sự kiện xảy ra thì bạn hoàn có thể thực thi các câu lệnh JavaScript tươngứng với sự kiện đó

Cú pháp khai báo để trình duyệt thực thi các câu lệnh JavaScriptkhi một sự kiện xảy ra nhưsau:

1.4.2.2.1 Cách 1:

<Tên thẻ <Tên sự kiện> = " <Một Câu lệnh JavaScipt>" >

Lưu ý:Một câu lệnh JavaScript có thể là bất kỳ câu lệnh nào mà bạn đã học Câu lệnh này phải đượcđặt trong cặp nháy kép (hoặc cặp nháy đơn)

<Input type = submit value = "Gửi" onclick = "alert(’Đã được gửi’);">

Ta hãy đi phân tích ví dụ 1 Trong ví dụ này ta đã tạo ra một textbox và viết (khai báo) sự kiện clicknhư sau : onClick = "alert(’Bạn đã click vào textbox’);"

Ở đây có 2 phần:

• Phần onClick : là tên của sự kiện click chuột (xin tham khảo ở bảng trên)

• Phần thứ 2 sau dấu =, là một câu lệnh JavaScript tương ứng sẽ được thực thi khi sự kiện click chuộtxảy ra đối với textbox đó ở đây là câu lệnh alert

Điều này có nghĩa là, bất cứ khi nào người dùng click chuột vào textbox này thì trình duyệt sẽ tự động thựcthi câu lệnh alert(’Bạn đã click vào textbox’);

Trang 25

• Tương tự trong ví dụ 2: Bất cứ khi nào người dùng di chuyển chuột trong textbox (tên sự kiện làonMouseMove) thì lệnh "alert(’Bạn di chuột’);" sẽ được thực thi

• Trong ví dụ 3: Bất cứ khi nào bạn click chuột vào dòng chữ "Hello !" thì thanh trạng thái của cửa sổ

sẽ có dòng chữ : "Văn bản bị click chuột"

• Trong ví dụ 4: Theo bạn, thông báo "Đã được gửi" khi nào thì xuất hiện !?

1.4.2.2.2 Cách 2:

Bạn có thể không chỉ viết một câu lệnh khi một sự kiện xảy ra đối với một phần tử nào đó mà JavaScriptcòn cho phép bạn thực thi nhiều câu lệnh đồng thời, với điều kiện các câu lệnh này phải được phân cáchnhau bởi dấu chấm phảy ";"

Cú pháp viết như sau:

<Tên thẻ <Tên sự kiện>=" <Câu lệnh 1>; <Câu lệnh 2>; ; <Câu lệnh n>" >

Ví dụ 1:

<input onclick="window.status=’Click chuột’; alert(’Bạn đã click chuột’)">

Trong ví dụ này, ta đã tạo một textbox và khi người dùng click chuột vào textbox này thì trình duyệt sẽthực thi 2 câu lệnh tương ứng như ta đã chỉ ra trong thẻ :

window.status=’Click chuột’ và alert(’Bạn đã click chuột’) 2 lệnh này được phân cách nhau bởidấu chấm phảy

• window.status=’Họ tên đã nhận focus’

• window.document.title = ’Nội dung trong textbox đã bị xoá’

Nhận xét: Nếu số câu lệnh cần thực thi khi một sự kiện xảy ra là ít (Một hoặc hai câu lệnh) thì ta có thểkhai báo đoạn chương trình xử lý sự kiện sử dụng theo cách 1 hoặc cách 2 Còn trong trường hợp số câulệnh cần xử lý là lớn, thì cách nên sử dụng cách khác mà ta sẽ đề cập dưới đây

1.4.2.2.3 Cách 3:

Gọi một hàm khi một sự kiện xảy ra

Về bản chất cách này chính là cách một, có điều câu lệnh là một lời gọi hàm

Cách này thường được sử dụng khi :

• Số lệnh cần thực thi khi một sự kiện xảy ra là lớn

• Đảm bảo cho chương trình sáng sủa và dễ đọc, dễ quản lý và bảo trì

Cú pháp khai báo hàm trong định nghĩa sự kiện như sau:

<Tên thẻ <tên sự kiện> = "Tên hàm cần gọi([Tham số nếu có] )" >

Ví dụ:

1/ <input onclick ="Ham1()" >

2/ <input type = button value = Gui onclick = "GuiThongTin()">

3/ <input type = radio name = GT onclick = "KiemTra()">

Trong đó, Ham1(), GuiThongTin() và KiemTra() là các hàm

Tóm lại: Tuỳ vào trường hợp cụ thể mà khi một sự kiện xảy ra, bạn có thể viết một lệnh, nhiều lệnhhoặc một hàm tương ứng sẽ được thực thi trong định nghĩa thẻ Tuy nhiên, một qui tắc chung là: Nếu đoạnchương trình xử lý sự kiện chỉ có một lệnh thì nên viết theo cách a, còn trái lại thì nên viết các lệnh trongmột hàm (tức theo cách viết b)

Trang 26

1.4.2.3 Một số bài tập minh hoạ

Ví dụ 1: Hãy tạo một nút nhấn (button) có value = "Thử" Khi người dùng click vào nút này thì tiêu đềcủa cửa sổ sẽ là "Bạn đã click chuột"

Hướng dẫn: Trước hết ta cần xác định xem các lệnh nào cho phép ta thay đổi tiêu đề của cửa sổ thành

"Bạn đã click chuột", tiếp theo là đặt các lệnh đó vào đâu để khi người dùng click chuột thì nó được thựcthi theo như yêu cầu bài toán

• Lệnh để thay đổi tiêu đề như sau: document.title = "Bạn đã click chuột"

• Như ta đã biết khi người dùng click thì sự kiện onClick xuất hiện, do vậy câu lệnh trên sẽ được đặttương ứng vào sự kiện onClick, như sau:

Hướng dẫn: Theo yêu cầu của bài thì dòng thông báo "Bạn đã click chuột vào nút gửi" xuất hiện chỉkhi người dùng click chuột vào nút gửi, do vậy các lệnh thực hiện hiển thị thông báo sẽ được đặt trong sựkiện onclick của nút nhấn Còn dòng thông báo "Bạn đã click chuột vào text box" khi người dùng clickchuột vào textbox, do vậy các lệnh thực hiện hiển thị dòng thông báo sẽ được đặt trong sự kiện onclickcủa textbox :

<input type=button value="Gui" onClick="alert( ’Ban da click chuot vao nut’) ">

<input type=text onclick = "alert(’Ban da click chuot vao textbox’) ">

</BODY>

</HTML>

Ví dụ 3: Tạo 2 nút, nút thứ nhất có value = "Xanh", nút thứ hai có value = "Đỏ" Yêu cầu: Khi ngườidùng click vào nút xanh thì màu nền của tài liệu là xanh (blue), còn khi người dùng click vào nút đỏ thìmàu nền của tài liệu là: Đỏ (red)

Hướng dẫn:Thuộc tính màu nền của tài liệu được lưu trong thuộc tính bgColor của đối tượng document.Thuộc tính này có thể thay đổi được

<input type=button value=Xanh onclick="window.document.bgColor = ’blue’; ">

<input type = button value =Do onclick="window.document.bgColor = ’red’; ">

</BODY>

</HTML>

Trang 27

<Select name = Mau onclick = "DoiMau();" >

<option value = red> Màu đỏ </option>

<option value = blue> Màu xanh </option>

<option value = brown> Màu nâu </option>

<option value = lavender> Màu xanh nhạt</option>

if (NoiDung.value.length > 200) alert("Bạn đã gõ qúa số ký tự cho phép !");

SoKyTu.value = NoiDung.value.length; // Hiển thị số ký tự trong textbox SoKyTu

}

</script>

<body style="font-family:arial">

Số ký tự đã gõ : <input type="text" name="SoKyTu"> <BR>

<textarea name="NoiDung" cols=50 rows="10" onKeyUp="KiemTra();"> </textarea>

Trang 28

Hướng dẫn: Khi người dùng di chuyển chuột thì sự kiện di chuyển chuột sẽ xuất hiện, sự kiện này có tên

là : onMoseMove Vậy ta sẽ viết lệnh trong sự kiện này

Minh hoạ: màn hình

6 http://vidu5.htm/

Trang 29

<input type="button" value="Gửi" onmousemove="window.status = ’Chuột trong nút’; ">

<input onMouseMove ="window.status=’Chuột trong textbox’;"> <BR>

<input type="radio" name="GioiTinh" onMouseMove="window.status=’Trong nam’;">Nam

<html>

7 http://voer.edu.vn/content/m16581/latest/file:///tmp/HTML/Vidu%2006.htm

Trang 30

<H1>Bạn hãy nhập vào số lượng và giá:</H1>

Số lượng: <input name="SoLuong">

Đơn giá:<input name="DonGia" onKeyUp="ThanhTien.value=SoLuong.value*DonGia.value">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<Script language = JavaScript>

function TinhToan()

{

8 http://vidu7.htm/

Trang 31

Đơn giá: <input name="DonGia" onKeyUp="TinhToan();"> <HR>

Thành tiền: <input name="ThanhTien"> USD

Minh hoạ:

Trang 32

Figure 1.16

<HTML>

<HEAD>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Dang nhap vao trang http://sms.vinaphone.vnn.vn</title>

</HEAD>

<BODY style="font-family:arial">

<H2>Đăng nhập vào trang Web của vinaphone </H2><HR>

<form action="http://sms.vinaphone.vnn.vn/sms/servlet/UserInterface" method=post>

User NamePassword <BR>

<input type="text" id = username name="username" size="20">

<input type="text" id= password name="password" size="20">

<input type="hidden" name="id" value="0" >

<input type="hidden" name="language" value="en">

<input type="submit" value="Dang nhap - Login">

</p>

</form>

</BODY>

</HTML>

Các thẻ có thuộc tính type = "hidden" sẽ không được hiển thị trong trình duyệt, tuy nhiên khi chúng ta

"Submit" thì các thông tin trong đó cũng được gửi đi

Trang 34

Figure 1.18

Yêu cầu:

• Khi người dùng di chuyển chuột đến phần tử nào thì hiển thị dòng nhắc dưới thanh trạng thái đểhướng dẫn người dùng Ví dụ: Khi người dùng đưa chuột vào trong ô textbox User Name thì thì hiểnthị dưới thanh trạng thái là :"Nhập mã người dùng", hay khi người đưa chuột đến nút "Đăng ký" thìhiển thị dòng nhắc: "Gửi thông tin đi để đăng ký" v.v

Hướng dẫn: Nút đăng ký nên là nút thường, tức là tạo bằng thẻ :

<input type = button value = "Đăng ký">

Bài tập 2: Có giao diện như bài 1, nhưng yêu cầu như sau:

• Khi gửi thông tin đi, cần kiểm tra xem nội dung người dùng gõ trong ô Password với textbox trong ô

"Gõ lại password" có giống nhau hay không? Nếu bằng nhau thì mới gửi (Submit) đi, còn nếu khôngbằng thì thông báo là "Password phải giống nhau"

• Khi gửi thông tin, cần kiểm tra ngày sinh, tháng sinh phải hợp lệ (Tức ngày phải nhỏ hơn 32, thángphải nhỏ hơn 13)

Hướng dẫn:

Nút đăng ký nên là nút thường, tức là tạo bằng thẻ :

<input type = button value = "Đăng ký" onClick = "DangKy();">

Trong đó Hàm DangKy() sẽ kiểm tra dữ liệu hợp lệ và khi dữ liệu nhập vào đúng đắn thì gửi đi bằngcách gọi phương thức submit của đối tượng document, như sau: document.submit();

Bài tập 3:

Trang 35

1.5.1 Mục tiêu của chương:

• Giúp học viên hiểu rõ hơn về ý nghĩa của việc dùng kiểu (style)

• Tra cứu thành thạo các thuộc tính trong bảng dánh sách kiểu

• Vận dụng các thuộc tính (kiểu) để định dạng cho các phần tử trong trang web, nâng cao tính thẩmmỹ

1.5.2 Nội dung:

1.5.2.1 Nhắc lại khái niệm về kiểu

Kiểu (style) thực chất là một cách định nghĩa thuộc tính cho các phần tử trong trang web theo một cáchthức mới

Việc định nghĩa các thuộc tính này cho các phần tử sẽ cho ta một "dáng vẻ mới", một "diện mạo mới"

về trang web Ngoài ra, việc định nghĩa thuộc tính theo cú pháp mới này sẽ làm tiền đề cho việc xây dựngcác trang web động mà ta sẽ đề cập trong các chương tiếp theo

Ví dụ: Trước đây, để định nghĩa một đoạn văn bản nằm trong thẻ <P> có font chữ là vntime, chúng ta

sẽ viết như sau:

<P <FONT face=.VnTime>Dòng văn bản này có font chữ là vntime</Font></p>

Nhưng với cách định dạng mới theo cú pháp mà ta gọi là cú pháp CSS, thì có thể thực hiện yêu cầu trênnhư sau:

<P style= "font-family:.vntime">Dòng văn bản này có font chữ là vntime </P>

1.5.2.2 Minh hoạ cách khai báo style

Trong JavaScript, bạn có thể thiết lập các thuộc tính cho một thẻ nào đó theo rất nhiều cách Dưới đây xingiới thiệu 3 cách thiết lập thuộc tính cho thẻ, đó là :

• Thiết lập (Định nghĩa) thuộc tính ngay trong khi định nghĩa thẻ (tag), kiểu này còn gọi là định nghĩakiểu ở mức dòng (style line)

• Thiết lập thuộc tính cho toàn bộ một loại thẻ nào đó Cách này còn gọi là định nghĩa bộ chọn

• Định nghĩa một lớp, sau đó có thể đem ra sử dụng cho bất kỳ phần tử nào

• Định nghĩa bộ chọn ID, cho phép áp dụng tất cả các thuộc tính của bộ chọn vào tất cả các thẻ cóthuộc tính ID phù hợp với mã ID trong định nghĩa

1.5.2.3 Style áp dụng ở mức dòng (Inline style)

Style mức dòng (inline style) cho phép bạn có thể thay đổi hình thức (style) của một phần tử nào đó bằngcách thêm các thuộc tính định dạng trực tiếp vào ngay bên trong định nghĩa của thẻ

Một số ví dụ minh hoạ

Ví dụ 1: Để tạo một dòng văn bản với thẻ <P>; có màu chữ là đỏ, bạn có thể viết như sau:

10 This content is available online at <http://voer.edu.vn/content/m16592/1.2/>.

Trang 36

<P style = "color:blue"> Màu này là màu của hoà bình <P> Kết quả cho ta :

Màu này là màu của hoà bình

Ví dụ 4 : Tạo một textbox có viền màu đỏ Thuộc tính tạo viền màu đỏ là : "background-border:red", dovậy bạn cần đặt vào trong định nghĩa thẻ text như sau: <input type="text" style="border-color:red"value="viền màu đỏ"> Kết quả cho ta một textbox có viền màu đỏ:

Figure 1.21

Nhận xét :

ã Trong các ví dụ ở trên, chúng ta có thể thiết lập một số thuộc tính của bất kỳ phần tử nào bằng cáchđưa vào dòng style = "Tên thuộc tính:Giá trị của thuộc tính" Trong đó, Cặp tên thuộc tính : Giá trịcủa thuộc tính các bạn có thể tra trong bảng các thuộc tính11 đợc đặt trên th mục của máy chủ

ã Có thể đưa vào một hoặc nhiều thuộc tính trong biểu thức style=" " , khi đưa nhiều thuộc tính thìcác thuộc tính cách nhau bởi dấu chấm phảy ";"

11

http://voer.edu.vn/content/m16592/latest/smb://Server/Aptech%20-%20Tai%20lieu%20HTML-Javascript/Chuong%2010/Cac%20the%20su%20dung%20trong%20CSS.htm

Trang 37

Ví dụ 5: Tạo một nút nhấn có màu nền là tím (magenta) và màu chữ là trắng (white) Thuộctính qui định màu nền tím là :"background-color:magenta", Còn thuộc tính qui định màu chữtrắng là "color:white" Như vậy cần định nghĩa thẻ là : <input type ="button" style="background-color:magenta; color:white" value="Nền tím- chữ trắng"> Kết quả :

Figure 1.22

Ví dụ 6: Thiết lập ảnh nền của trang Web là anh1.jpg, và ảnh này hiển thị ở vị trí cố định (Tức là nếubạn có cuộn thanh cuộn của cửa sổ thì ảnh này sẽ không bị cuộn theo mà vẫn đứng yên)

Biết rằng thuộc tính đưa ảnh nền vào trang web như sau:

background-image:url( ’ <Đường dẫn và tên file ảnh> ’)

Thuộc tính để ảnh ở vị trí cố định là :

background-attachment:fixed

Lưu ý: đặc tính ảnh cố định chỉ có trong IE, không có trong Nescape

Như vậy, yêu cầu trên có thể thực hiện như sau:

<body style="background-image:url(’anh1.jpg’); background-attachment:fixed; color:white; family:arial">

font-<Click vào đây để xem minh hoạ>12 (Bạn phải đảm bảo là mở trong trình duyệt IE)

Ví dụ 7: Tạo các liên kết đến các trang http://www.aptech.ute13, http://w14ww.vnn.vn, nhưng các liênkết này không có đường gạch chân và có các thuộc tính như sau:

• Màu chữ : Đỏ (red)

• Màu nền : lavender

• Màu khi chuột click vào liên kết : tím (magenta)

• Màu khi trang đó đã được thăm : nâu (brown)

Hướng dẫn:

• Thuộc tính qui định màu chữ của liên kết là: linkColor, thuộc đối tượng document

• Thuộc tính qui định màu nền của văn bản trong một thẻ : background-color (CSS)

• Thuộc tính qui định của liên kết khi bị click chuột : alinkColor, thuộc document

• Thuộc tính qui định màu của liên kết đã được thăm: vlinkColor, thuộc document

Minh hoạ (Soạn trong Dreamweaver):

12 http://Background-image.htm/

13 http://www.aptech.ute/

14 http://www.aptech.ute/pcworld2003/homepage.pdf

Trang 38

Việc chúng ta tạo ra các tính chất chung cho một loại thẻ nào đó thì ta gọi là một bộ chọn (Selector)HTML

Để định nghĩa ra một bộ chọn HTML, ta có 2 cách, bạn có thể tuỳ ý chọn một trong 2 cách này Cáchthứ nhất là ta viết theo một dạng cú pháp mà ta gọi là cú pháp dạng CSS, dạng thứ hai là ta viết theo cúpháp của JavaScript

Cú pháp để tạo bộ chọn theo CSS như sau:

<Style type = "text/CSS">

<Tên thẻ HTML> { <Tên thuộc tính> : <Giá trị> }

<Tên thẻ HTML> { <Tên thuộc tính> : <Giá trị> }

<Tên thẻ HTML> { <Tên thuộc tính> : <Giá trị> }

</Style>

Trong đó:

Trang 39

• Giá trị: Là giá trị mới mà bạn muốn đặt cho thuộc tính Ví dụ, "red", "lavender", "hand", "center"v.v Để có thể đặt giá trị cho hợp lệ, bạn tham khảo trong file: 16Cac the su dung trong CSS.doc17

" trong server

Sau khi đã định nghĩa tên của một loại thẻ với các thuộc tính của nó, thì tất cả các thẻ cùng loại về sau sẽ

có tất cả các thuộc tính như đã định nghĩa Để làm sáng tỏ điều này, chúng ta hãy lấy một số ví dụ :

Figure 1.24

Ví dụ 1: Giả sử bạn cần tạo một danh mục các đầu sách của Aptech, theo định dạng dứơi đây

KNOW YOUR DESKTOP

Trang 40

Figure 1.25

Tuy nhiên nếu theo cách ở trên thì chúng ta dễ dàng thấy có một điểm chưa được thuận tiện, đó là mỗikhi thêm tên một loại sách chúng ta cần phải thêm trong thẻ P dòng:

<style="font-family:.vntimeH; font-size:20pt; color:red"

Trong trường hợp này, Bằng cách định ra một qui tắc (Định dạng) chung cho tất cả các thẻ P ta có thể

có kết quả như mong đợi mà không phải viết lại các dòng dư thừa như ở trên Việc định ra qui tắc chungcho thẻ P ta gọi là định nghĩa bộ chọn P

áp dụng cú pháp định nghĩa bộ chọn theo dạng CSS để định nghĩa bộ chọn P như sau:

<style type = "text/css">

<style type = "text/css">

P {font-family:.vntimeH; font-size:20pt; color:red}

</style>

Ngày đăng: 05/07/2014, 19:36

TỪ KHÓA LIÊN QUAN

w