[LTW] : BT HTML_CSS_JavaScript


Mục tiêu: Kết thúc bài thc này, ngưi học th
ƒ  Tạo định dng các thẻ HTML bằng CSS
ƒ  Truy xuất các đối tượng trình duyệt và các phần tử HTML bằng JavaScript.
ƒ  Tạo trang web đăng xử lý tính hp lệ ca dữ liệu nhp vào.


Ni dung:
Định dạng các phần t bằng CSS s dng JavaScript đ kiểm tra d liệu

Yêu cầu:
To một trang web trong VS 2008 phục vụ việc nhp thông tin vn bộ.
Trang web này đưc tạo trên IIS Cục b.
S dụng c style để định nghĩa cho các phn t.
S dụng JavaScript để kim tra tính hợp lcủa dữ liệu.

Đặc t  giao din, chức năng các ràng buc:
1.   Giao diện (Trang bên)
2.   Đặc tả xử lý
- Khi người dùng nhn vào nút
 thì thc hiện gi toàn bộ nội dung đang
nhp của trang hin hành sang trang CapNhatCanBo.aspx.
- Khi người dùng nhn vào nút
 thì nội dung trong các ô nhp được reset trở về giá trị mc định (như trong hình).

3.   Đặc tả ràng buộc
-     Họ và tên không được rỗng phải <= 40 tự.
-     Ngày, tháng m phi hợp lệ.
-     c trường đánh du * là bắt buộc phi có.
-     c trường số (như ngày sinh, hệ số lương,…) phi là c số, không được tự.
-     c hộp Textarea không đưc quá 1000 tự.
-     Ở c hộp text, khi người dùng click chuột (focus) thì giá trmc định sẽ bị xóa để cho người dùng gõ giá tr mới. Nếu ni dùng di chuyn sang phn t khác không nhp giá tr nào thì đt li giá tr mc định như ban đu.
-     Khi tng nào nhập sai thì sẽ đt focus vào đúng trưng sai đó.

4.   Một số kiến thức cần thiết và gi ý:

-     Định nghĩa style cho c mục giống nhau
-     Đt thuộc tính Action cho form để chuyển thông tin cho trang bt k
-     Dùng hàm isNaN (n) để kiểm tra xem n có phải là số hay không.
-     Dùng phương thc focus của phn t để đt tiêu điểm.
-     To các phần t kiểu submit kiu reset cho nút Cập nhập nhập mi.
-     Viết một hàm kiểm tra cho s kiện Onclick ca t Cập nhật.
-     Nếu không muốn cho một sự kiện nào đó (ví dụ onclick) kích hot thì viết trong sự kiện
đó “return false” hoặc return KQ; với KQ là mt biểu thc, m có giá trị false


Hướng dẫn:

1. Đnh nga style:
Khi thiết kế giao din cho trang web, trước hết cần xác định xem nhng phn t nào
cùng một đnh dng (style). Khi đó ta nên định ra một class cha các định dng mong muốn để áp dụng cho các phần t cùng loại này.


Lession02.css
.HeadTitle
{
font-size: xx-large; 
font-weight: bold; 
text-align: center; 
color:Purple;
margin-bottom:30px;
}


.CellSpace
{
border-spacing:1px;
}

.Tiêu_Đề_Chính {
    color:White;
background-color:Purple;
font-size:12pt; 
font-weight:bold;
 margin:5px 0px 5px 0px; 
 height:25px;
}
.Cột1
{
  color:Gray;
font-style:italic;
text-align:right;
width:30%;
}
.Cột2
{
    width:70%;
text-align:left;


}
.TextboxDài
{
width:99%;
text-align:left;
}
.TTBatBuoc
{

    background-color:Yellow;
}


.Table
{
    table-layout:auto;
     border-style:solid; 
     border-color:Purple; 
     border-width:1px;
border-collapse:collapse;
background-color:White;
width:800px;
}
td
{
    vertical-align:middle;
}

input
{
    margin:2px 0px 2px 2px;
}

input.NgayThang
{
 text-align:center;
width:80px;

}
select
{
    text-align:center;
width:100px;
}



2. Code trang giao diện
NhapHSCB.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="NhapHSCB.aspx.cs" Inherits="Lession_02                                 LAB_YahooRegister" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<head runat="server">
<title>Nhập h cán b</title>
<link rel="Stylesheet" href="Lession02.css" type="text/css" />
</head>



<body >
<form id="form1" action="CapNhatCanBo.aspx" method="post" >
<div style="text-align:center">
<p style="border-bottom:solid; border-width:thin; font-size:20pt;
margin:0; padding:0X; border-spacing:0px"> CHƯƠNG TRÌNH QUẢN CÁN BỘ VERSION 1.0
</p><br /> <br />

<p class="HeadTitle">NHẬP H CÁN BỘ</p>

<table class="Table">
<tr class="CellSpace">
<td colspan="2" class="Tiêu_Đề_Chính">THÔNG TIN CÁ NHÂN</td>
</tr>

<tr>
<td class="Cột1">*Họ tên</td>
<td class="Cột2"><input type="text" id="HoVaTen" class="TextboxDài" />
</td>
</tr>

<tr>
<td class="Cột1">*Ngày sinh (ny/tháng/năm)</td>
<td class="Cột2">
<select id="NgaySinh">
<option value="">1</option>
<option value="2">2</option>
</select> /
<select id="cboThangSinh" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select> /

<select id="NamSinh">
<option value="1950">1950</option>
<option value="1951">1951</option>
<option value="1952">1952</option>
</select>

Giới tính:
<input type="radio" id="optNam" checked="checked" /> Nam


<input type="radio" id="optNu"/>N
</td>
</tr>
<tr>
<td class="Cột1">Chức vụ hiện tại (Đảng, chính quyền,...)</td>
<td><input type="text" class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">*Quê quán</td> <td class="Cột2">
<input type="text" class="TextboxDài"/></td>
</tr>

<tr>
<td class="Cột1">*Nơi hiện nay</td>
<td class="Cột2"> <input type="text" class="TextboxDài"/></td>
</tr>

<tr>
<td colspan="2" class="Tiêu_Đề_Chính">TRÌNH ĐỘ HỌC VẤN</td>
</tr>

<tr>
<td class="Cột1"> Dân tộc : </td>
<td class="Cột2"><input type="text" /> Tôn giáo: <input type="text" />
</td>
</tr>
<tr>
<td class="Cột1">Thành phn gia đình:</td>
<td class="Cột2"> <input type="text" class="TextboxDài"/></td>
</tr>
<tr>
<td class="Cột1">Nghề trưc khi tuyển dụng</td>
<td class="Cột2"><input type="text" class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">Tham gia cách mạng: </td>
<td class="Cột2">
Ngày <input value="..../...../......" style="width:15%; text-align:center"
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);" />

T chức <input style="width:20%" /> Công tác <input style="width:20%" />
</td>
</tr>

<tr>
<td class="Cột1">Ngày vào Đảng: </td>
<td class="Cột2"><input type="text" value="...../...../....." id="NgayVaoDang"
class="NgayThang"
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);"/>
ngày vào chính thc <input type="text" class="NgayThang"
value="...../...../....."
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);"/>
</td>
</tr>

<tr>
<td class="Cột1">Ngày nhập ngũ:</td>
<td class="Cột2"><input type="text" value="..../...../...." class="NgayThang"
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);"/>
ngày xut ngũ <input type="text" class="NgayThang" value="..../...../....."
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);"/>
</td>
</tr>

<tr>
<td class="Cột1">*Trình độ Văn hóa: </td>
<td class="Cột2"><input style="width:15%" /> Hc hàm:
<select>
<option value="">-----</option>
<option value="Thạc Sĩ">Thạc </option>
<option value="Tiến Sĩ">Tiến sĩ</option>
</select> Hc vị :
<select>
<option value="">-----</option>
<option value="Giáo sư">Giáo sư</option>
<option value="Phó giáo sư">Phó giáo sư</option>
</select>
</td>
</tr>

<tr>
<td class="Cột1">Lý luận chính trị </td>
<td class="Cột2">
<select> <option>-----</option>
<option value = "Sơ cp">Sơ cấp</option>
<option value="Trung cấp">Trung cp</option>
<option value="Cao cp">Cao cp</option>
<option value="C nhân">Cử nhân</option>
</select>
</td>
</tr>

<tr>
<td class="Cột1">Trình độ ngoại ngữ</td>
<td class="Cột2">
Anh <select><option>-----</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>


</select> Nga <select>
<option>-----</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select> Pháp <select>
<option>-----</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</td>
</tr>

<tr>
<td class="Cột1">*Ngch ng chc, viên chức:</td>
<td class="Cột2">
<input style="width:20%" />
số: <input style="width:15%" />
*H số lương: <input style="width:15%" />
</td>
</tr>

<tr>
<td class="Cột1">Danh hiệu được phong (năm): </td>
<td class="Cột2"><input class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">Sở trường công tác:</td>
<td class="Cột2"><input class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">Khen thưởng (huân,huy chương cao nhất)</td>
<td class="Cột2"><input class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">K luật ng, chính quyền, năm, do, hình thc)</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="50" rows="3"></textarea>
</td>
</tr>

<tr class="Tiêu_Đề_Chính">
<td colspan="2">
ĐÀO TO, BỒI NG CHUYÊN MÔN, NGHIỆP VỤ, LUN, NGOẠI NGỮ
</td>
</tr>



<tr>
<td class="Cột1">Ghi rõ Tên trưng, ngành hc, thời gian, loại hình,văn bằng, chứng chỉ</td>
<td><textarea class="TextboxDài" cols="100" rows="5"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="color:Blue">
** Loại hình: Chính qui, tại chc, chuyên tu, bồi dưỡng; văn bằng: Tiến sĩ, thạc sĩ, cử nhân, k sư.
</td>
</tr>

<tr class="Tiêu_Đề_Chính">
<td colspan="2">TÓM TẮT QUÁ TRÌNH CÔNG TÁC</td>
</tr>
<tr>
<td class="Cột1">Ghi rõ thời gian bắt đầu kết thúc; chc danh, chc vụ,
đơn vị ng tác tương ng)</td>
<td><textarea class="TextboxDài" cols="100" rows="5"></textarea></td>
</tr>

<tr class="Tiêu_Đề_Chính">
<td colspan="2">Đc điểm lịch sử bản thân</td>
</tr>

<tr>
<td class="Cột1">Đc điểm lịch sử bản thân</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="100" rows="5"></textarea>
</td>
</tr>

<tr>
<td class="Cột1">Quan hệ với nời nước ngoài</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="100" rows="5"></textarea>
</td>
</tr>

<tr>
<td class="Cột1">Quan hệ gia đình (Bố, m, anh ch em rut)</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="100" rows="5"></textarea>
</td>
</tr>

<tr>
<td class="Cột1">Hoàn cảnh kinh tế gia đình</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="100" rows="5"></textarea>




</tr>
</table>
<br />


</td>


<table class="Table" style="border:0">
<tr>
<td style="text-align:right"><input type="submit" value="    Cp nht   "
onclick="return KiemTra();" /></td>
<td style="text-align:left"><input type="reset" value=" Nhp mới " /></td>
</tr>
</table>
</div>
</form>

<script language="javascript" type="text/javascript">
var Giá_Trị_Cũ;

/// Hàm xử khi người dùng bấm vào nút Nhp
function KiemTra()
{
if (form1.HoVaTen.value.length==0)
{
alert("H tên phải khác rng !");
form1.HoVaTen.focus();
return false;
}


if( isNaN(form1.NgaySinh.value)==false)
{
alert("Ngày sinh phải s "); form1.NgaySinh.focus(); return false;
}
return true;
}


/// Hàm xử khi phần tử nhn được focus
function XuLyFocus(txt)
{
Giá_Trị_Cũ=txt.value;
txt.value="";
}


/// Hàm xử khi phần tử mt focus
function XuLyLostFocus(txt)
{
if (txt.value=="") txt.value=Giá_Trị_Cũ;
}
</script>
</body>
</html>