1. Mục tiêu.
Khi hệ thống thi hành sẽ giúp việc truy cập, tìm kiếm, cập nhật về xe máy một cách nhanh chóng. Nhằm phục vụ cho khách hàng muốn tìm hiểu và mua xe.
Vì mục đích của trang web này là quảng cáo các loại xe,cung cấp cho khách hàng những thông tin mà khách hàng muốn tìm. Nên chương trình này chỉ nhằm hỗ trợ cho các cửa hàng,đại lý trong việc mở rộng việc kinh doanh của công ty.
2. Lý do chọn đề tài.
Ngày nay,công nghệ thông tin không ngừng phát triển, nó không chỉ mang tính chất thương mại. Nó giúp ích cho việc kinh doanh mua bán của các công ty, cửa hàng, đại lý. Nó góp phần mở rộng việc kinh doanh, mua bán của các công ty.
Như chúng ta biết, ngày nay xe máy là một phương tiện đi lại nhanh chóng và hiệu quả mà bất cứ ai cũng cần. Vì vây, việc kinh doanh mua bán mặt hàng này đang được chú ý và quan tâm. Đó là lý do em chọn đề tài này.
38 trang |
Chia sẻ: tuandn | Lượt xem: 2226 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài Quảng cáo xe gắn máy, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bộ Giáo Dục – Đào Tạo
Trường Đại Học Dân Lập Cửu Long
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI JAVA - WEB
QUẢNG CÁO XE GẮN MÁY
Giáo viên hướng dẫn: Viên Thanh Nhã.
Phan Hồ Duy Phương
Sinh viên thực hiện: Nguyễn Thị Thúy Phượng
MSSV: 05.020.115
Vĩnh Long – 12/2007
Bộ Giáo Dục – Đào Tạo
Trường Đại Học Dân Lập Cửu Long
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI JAVA - WEB
QUẢNG CÁO XE GẮN MÁY
Giáo viên hướng dẫn: Viên Thanh Nhã.
Phan Hồ Duy Phương
Sinh viên thực hiện: Nguyễn Thị Thúy Phượng
MSSV: 05.020.115
Vĩnh Long – 12/2007
MỤC LỤC
ĐỒ ÁN JAVA- WEB
Đề tài: QUẢNG CÁO XE GẮN MÁY
1. Mục tiêu.
Khi hệ thống thi hành sẽ giúp việc truy cập, tìm kiếm, cập nhật về xe máy một cách nhanh chóng. Nhằm phục vụ cho khách hàng muốn tìm hiểu và mua xe.
Vì mục đích của trang web này là quảng cáo các loại xe,cung cấp cho khách hàng những thông tin mà khách hàng muốn tìm. Nên chương trình này chỉ nhằm hỗ trợ cho các cửa hàng,đại lý trong việc mở rộng việc kinh doanh của công ty.
2. Lý do chọn đề tài.
Ngày nay,công nghệ thông tin không ngừng phát triển, nó không chỉ mang tính chất thương mại. Nó giúp ích cho việc kinh doanh mua bán của các công ty, cửa hàng, đại lý. Nó góp phần mở rộng việc kinh doanh, mua bán của các công ty.
Như chúng ta biết, ngày nay xe máy là một phương tiện đi lại nhanh chóng và hiệu quả mà bất cứ ai cũng cần. Vì vây, việc kinh doanh mua bán mặt hàng này đang được chú ý và quan tâm. Đó là lý do em chọn đề tài này.
3. Yêu cầu đề tài.
a. Chức năng.
-- Đưa thông tin cho khách hàng xem.
-- Cập nhật thông tin xe.
-- Cập nhật thông tin khách hàng.
-- Giá bán lẻ các sản phẩm.
-- Tìm kiếm thông tin cho người dùng.
b. Phân tích.
-- Yêu cầu về lưu trữ: Lưu trữ thông tin của từng loại xe.
-- Yêu cầu về tra cứu: Tra cứu về loại xe.
-- Yêu cầu về giao diện: Cho phép thau tác qua lại giữa các trang web.
-- Yêu cầu về phân quyền: Do chương trình này dành cho các tổ chức kinh doanh mua bán nên đòi hỏi sự bảo mật cao.
-- Yêu cầu về sao lưu dữ liệu: Nên sao lưu dữ liệu thường xuyên để đề phòng mất cơ sở dữ liệu.
àĐể thuận lợi cho việc quản lý các loại xe.
c. Quản trị.
Người quản trị là người có toàn quyền kiểm soát ứng dụng củachương trình,có quyền kiếm soát mọi hoạt động của chương trình.Người quản trị có thể đăng nhập vào hệ thống và quản lý các dữ liệu (thêm, xóa ,sửa). Ngoài ra ngừơi quản trị có thể xem thông tin quảng cáo.
Đối với khách hàng, muốn biết các thông tin sản phẩm thì có thể vào trang web để xem và chon lựa những loại xe mà mình thích, hợp sở thích của mình.
-- Chức năng quản trị đối với khách hàng.
+ Nhập thông tin khách hàng.
+ Sửa thông tin khách hàng.
+ Xóa thông tin khách hàng.
-- Chức năng quản trị đối với trang web.
+ Nhập thông tin xe.
+ Sửa thông tin xe.
+ Xóa thông tin xe.
+ Tìm kiếm theo loại xe.
d. Các trang web dự kiến.
-- Trang chủ.
-- Trang thông tin xe.
-- Trang cập nhật xe.
-- Trang cập nhật khách hàng.
-- Trang giá bán lẻ các sản phẩm.
-- Trang tìm kiếm loại xe.
4. Mô hình ERD.
5. Mô hình vật lý.
6. Mô hình quan hệ dữ liệu.
XE ( MaXe, TenXe, HinhAnh, MoTa ).
CHITIETXE ( MaChiTiet, DungTich, HDSuDung, GiaCa, Mau ).
PHUTUNG ( MaPhuTung, TenPhuTung, GiaCa, Mau, MoTa, HinhAnh ).
LOAIXE ( MaLoaiXe, TenLoaiXe, GhiChu, DacDiem ).
KHACHHANG ( MaKhachHang, TenKhachHang, DiaChi, DienThoai, Email ).
7. Bảng mô tả các thực thể và các mối kết hợp.
a. Thực thể XE.
STT
Thuộc tính
Kiểu dữ,liệu
Ràng buộc
Diễn giải
1
MAXE
Varchar (20)
Khóa chính
Mã Xe
2
TENXE
Varchar (20)
Tên loại xe
3
HINHANH
Varchar (50)
Hình ảnh
4
MOTA
Varchar (200)
Mô tả
5
MALOAIXE
Varchar (20)
Khóa ngoại
Mã loại xe
b. Thực thể LOAIXE.
STT
Thuộc tính
Kiểu dữ liệu
Ràng buộc
Diễn giải
1
MALOAIXE
Varchar(20)
Khoá chính
Mã loại xe
2
TENLOAIXE
Varchar(20)
Tên loại xe
3
GHICHU
Varchar(100)
Ghi chú
4
DACDIEM
Varchar(50)
Đặc điểm
c. Thực thể CHITIETXE.
STT
Thuộc tính
Kiểu dữ liệu
Ràng buộc
Diễn giải
1
MACHITIET
Varchar(20)
Khóa chính
Mã chi tiết
2
DUNGTICH
Varchar(20)
Dung tích
3
GIACA
Float(20)
Gía cả
4
HDSUDUNG
Varchar(50)
Hướng dẫn sử dụng
5
MAU
Varchar(20)
Màu
6
MAXE
Varchar(20)
Khóa ngoại
Mã xe
d. Thực thể PHUTUNG.
STT
Thuộc tính
Kiểu dữ liệu
Ràng buộc
Diễn giải
1
MAPHUTUNG
Varchar(20)
Khóa chính
Mã phụ tùng
2
TENPHUTUNG
Varchar(40)
Tên phụ tùng
3
GIACA
Float(8)
Giá cả
4
NGUYENLIEU
Varchar(30)
Nguyên liệu
5
MAU
Varchar(20)
Màu
6
MOTA
Varchar(200)
Mô tả
7
HINHANH
Varchar(50)
Hình ảnh
8
MAXE
Varchar(20)
Khóa ngoại
Mã xe
e. Thực thể KHACHHANG.
Thuộc tính
Kiểu dữ liệu
Ràng buộc
Diễn giải
1
MAKHACHHANG
Varchar (20)
Khóa chính
Mã khách hàng
2
TENKHACHHANG
Varchar (20)
Tên khách hàng
3
DIACHI
Varchar (20)
Địa chỉ
4
DIENTHOAI
Varchar (20)
Điện thoại
5
EMAIL
Varchar (20)
Email
6
MAXE
Varchar (20)
Khóa ngoại
Mã xe
f. Các mối kết hợp.
-- Mối quan hệ giữa XE và CHITIETXE.
Mối kết hợp: có nhiều, tạo một quan hệ giữa xe và chi tiết xe là: quan hệ 1-n. Có nghĩa là một xe có nhiều chi tiết xe và ngược lại nhiều chi tiết xe thuộc một xe.
-- Mối quan hệ giữa XE và PHUTUNG.
Mối kết hợp: có nhiều, tạo một quan hệ giữa xe và phụ tùng là: quan hệ 1-n. Có nghĩa là một xe có nhiều phụ tùng và ngược lại nhiều phụ tùng của một xe.
-- Mối quan hệ giữa LOAIXE và XE.
Mối kết hợp: thuộc, tạo một quan hệ giữa loai xe và xe là: quan hệ 1- n. Có nghĩa là một loại xe có nhiều xe và ngược lại nhiều xe thuộc một loại xe.
-- Mối quan hệ giữa XE và KHACHHANG.
Mối kết hợp: đã mua, tạo một quan hệ giữa xe và khách hàng là: quan hệ 1-n. Có nghĩa là một xe được nhiều khách hàng và ngược lại nhiều khách hàng của một xe.
8. Ràng buộc toàn vẹn.
RB1: Mỗi loại xe phải có một xe tương ứng.
RB2: Mỗi khách hàng có một mã duy nhất và không trùng lắp.
RB3: Mỗi xe phải có một tên duy nhất.
RB4: Ngày nhập xe không thể nhỏ hơn ngày bán xe.
RB5: Giá bán phải không âm.
9. Giao diện.
a. Trang chủ.
b. Trang đăng nhập.
c.Trang thông tin xe.
d. Trang chi tiết xe.
e. Trang cập nhật xe.
f. Trang cập nhật khách hàng.
g. Trang giá bán lẻ các sản phẩm.
h. Trang tìm kiếm
10. Giải thích các đoạn code.
a. Tạo lớp kết nối.
// Tạo ra lớp kết nối.
package my;
import com.borland.dx.sql.dataset.*;
import java.util.*;
// Hàm tạo ra lớp kết nối.
public class KetNoi {
public Database database1 = new Database();
public String trangThaiKetNoi = "";
//Statement thuc thi cau truy van
// sau khi statement lay duoc bao nhieu mau tin thi no cat vao resultset
public java.sql.Statement sta = null;
public java.sql.ResultSet res = null;
public Vector vIndex = null;
public boolean flagSql = true;
public KetNoi() {
System.out.println("Dang ket noi csadl");
KetNoiDatabase();
}
// Hàm ket noi cơ sở dữ liệu
public void KetNoiDatabase()
{
try {
jbInit();
}
catch(Exception e) {
System.out.println("Ket noi khong duoc");
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
// khi ket noi chua duoc mo thi thuc hien ket noi lien.
if(database1.isOpen() == false)
database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:odbc:qlxm", "", "", false, "sun.jdbc.odbc.JdbcOdbcDriver"));
trangThaiKetNoi = "Ket noi thanh cong";
// Tao ra doi tuong statement.
sta = database1.createStatement();
}
public void dongKetNoi()
{
if(database1.isOpen())
{
database1.closeConnection();
System.out.println("Dong ket noi CSDL");
trangThaiKetNoi = "da dong ket noi";
}
}
// Hàm lấy dữ liều về gán vào một vector.
public Vector getDataVector( int viTriTruongTable,String sql,String loi)
{
Vector v = new Vector();
System.out.println(sql);
try
{
res = sta.executeQuery(sql);
while(res != null && res.next())
{
add mot object vao mot vector
v.add(res.getString(viTriTruongTable));
}
}catch(Exception l)
{
System.out.println(loi + " " + l.toString());
}
return v;
}
// Hàm lấy về số mẫu tin.
public int laySoMauTin (String sql, String loi)
{
int soMauTin = 0;
try
{
res = sta.executeQuery(sql);
while(res != null && res.next())
{
soMauTin = soMauTin + 1;
}
}catch(Exception l)
{
System.out.println(loi + " " + l.toString());
}
return soMauTin;
}
//hàm thực thi cau lệnh insert,delete, update la execute.
Sau khi thuc thi xong co trang thai la true false
public void thucThiSql(String sql, String loi)
{
try
{
sta.execute(sql);
System.out.println(sql);
flagSql = true;
}catch(Exception l)
{
System.out.println(sql);
flagSql = false;
System.out.println(loi + " " + l.toString());
}
}
//Hàm lấy mẫu tin đầu tiên.
public String layMauTinDauTien(String sql, String loi, int viTri)
{
String keQua = "";
try
{
res = sta.executeQuery(sql);
//lay mot mau tin dau tien
if(res != null && res.next())
{
keQua = res.getString(viTri);
}
}catch(Exception l)
{
System.out.println(loi + " " + l.toString());
}
return keQua;
}
}
b. Trang xử lý đăng nhập.
<%
// khai bao chuoi us lay ve bien txtUser va pa lay ve bien txtPass.
String us = request.getParameter("txtUser");
String pa = request.getParameter("txtPass");
// Tao doi tuong ket noi.
my.KetNoi kn = new my.KetNoi ();
// Tao vector đăng nhập để thực hiện câu truy vấn.
Vector vDangNhap = kn.getDataVector(1,"select * from LoGin where username = '"+us+"' AND password ='"+pa+"'","loi khi lay du lieu");
kn.KetNoiDatabase();
// Kiểm tra đăng nhập nếu lớn hơn không thì gởi biến user,password lên session.
// dieu kien xay ra tra ve mau tin cat vao vector
if(vDangNhap.size() >0 ){
session.setAttribute("username",us);
session.setAttribute("password",pa);
response.sendRedirect("CapNhatLoaixe.jsp");
}
Else
// Nếu sai thì gọi lại trang đăng nhập.
response.sendRedirect("DangNhap.jsp");
%>
c.Trang Hiện Dữ liệu.
<% // Tạo kết nối cơ sở dữ liệu.
my.KetNoi kn = new my.KetNoi ();
// Tạo biến cbo, lấy biến mã loại xe so sánh khác bằng null thì lấy về mã loại xe.
String cboDangChon = "";
if(request.getParameter("bienMaLoaiXe") != null)
cboDangChon = request.getParameter("bienMaLoaiXe");
kn.KetNoiDatabase();
//Khai báo Vector đe hứng các giá trị.
Vector vMaLoaiXe=new Vector();
Vector vMaLoaiXeDefault = new Vector();
Vector vTenLoaiXe = new Vector();
Vector vHinh=new Vector();
Vector vXe = new Vector();
Vector vMaXe = new Vector();
// Thực hiên câu truy vấn
vMaLoaiXeDefault = kn.getDataVector(1,"select top 1 MaLoaiXe from LoaiXe ","loiLoaiXe");
vMaLoaiXe = kn.getDataVector(1,"select MaLoaiXe from LoaiXe order by MaLoaiXe asc","loiLoaiXe");
vTenLoaiXe = kn.getDataVector(1,"select TenLoaiXe from LoaiXe order by MaLoaiXe asc","loiLoaiXe");
vHinh = kn.getDataVector(1,"select HinhAnh from Xe ","Loi xe");
//out.println(vHinh);
String giaTriCbo = "";
// Lấy về dữ liệu đầu tiên.
String duLieuDau = kn.layMauTinDauTien("select MaLoaiXe from LoaiXe","Loi lay mau tin dau tien",1);
if(request.getParameter("bienMaLoaiXe") != null)
{
giaTriCbo = request.getParameter("bienMaLoaiXe");
vXe = kn.getDataVector(1,"select TenXe from Xe where MaLoaiXe = N'"+giaTriCbo+"'","Loi xe");
vMaXe = kn.getDataVector(1,"select maXe from Xe where MaLoaiXe = N'"+giaTriCbo+"'","loiLoaiXe");
vHinh = kn.getDataVector(1,"select HinhAnh from Xe where MaLoaiXe = N'"+giaTriCbo+"'","Loi xe....");
}
else
{
vXe = kn.getDataVector(1,"select TenXe from Xe where MaLoaiXe = N'"+duLieuDau+"'","Loi xe");
vMaXe = kn.getDataVector(1,"select MaXe from Xe where MaLoaiXe = N'"+duLieuDau+"'","loiLoaiXe");
vHinh = kn.getDataVector(1,"select HinhAnh from Xe where MaLoaiXe = N'"+vMaLoaiXeDefault.elementAt(0)+"'","Loi xe");
}
%>
Chon loai xe:
<%
int i = 0 ;
String tenCbo = request.getParameter("cbo");
System.out.println("vMaLoaiXe = " + vMaLoaiXe);
while(i < vMaLoaiXe.size())
{
if(vMaLoaiXe.elementAt(i).equals(giaTriCbo))
{%>
" selected="selected">
<% }
else
{
%>
">
<%
}
i++;
}%>
Tên xe
<%
int j = 0 ;
while (j < vXe.size())
{
String bienHinh = "Images/"+vHinh.elementAt(j);
%>
&path=">
">
--%>
function xuLy()
{
myForm.action = "XuLyHienDuLieu.jsp";
myForm.submit();
}
d. Trang chi tiết xe.
//tao ket noi
my.KetNoi gc=new my.KetNoi ();
//tao cac vector
Vector vTenXe=new Vector();
Vector vGiaCa=new Vector();
Vector vMau=new Vector();
Vector vMoTa=new Vector();
Vector vmapt=new Vector();
String maXeLayTuTrangXe="";
maXeLayTuTrangXe=request.getParameter("maXe");
// lay thong tin chi tiet xe
vTenXe=gc.getDataVector(1,"select TenXe from ChiTietXe,Xe where ChiTietXe.maxe=Xe.maxe and Xe.maxe = '"+maXeLayTuTrangXe+"'","loi phutung1");
vGiaCa = gc.getDataVector(1,"select GiaCa from Xe,ChiTietXe where Xe.maxe=ChiTietXe.maxe and Xe.maxe = '"+maXeLayTuTrangXe+"' ","loi phutung2");
vMau=gc.getDataVector(1,"select Mau from Xe,ChiTietXe where Xe. maxe=ChiTietXe.maxe and Xe.maxe = '"+maXeLayTuTrangXe+"'","loi phutung3");
vMoTa=gc.getDataVector(1,"select MoTa from chitietXe,Xe where chitietXe.maxe=Xe.maxe and Xe.maxe = '"+maXeLayTuTrangXe+"'","loi phutung4");
// lay thong tin phu tung xe
Vector vTenPhuTung=new Vector();
Vector vGiaPhuTung=new Vector();
Vector vMauPhuTung=new Vector();
Vector vMoTaPhuTung=new Vector();
Vector vHinhAnhPhuTung=new Vector();
// Thực hiện câu truy vấn.
vTenPhuTung=gc.getDataVector(1,"select TenPhuTung from PhuTung,Xe where PhuTung.maxe=Xe.maxe and Xe.maxe = '"+maXeLayTuTrangXe+"'","loi phutung1");
vGiaPhuTung = gc.getDataVector(1,"select Giaca from PhuTung,Xe where PhuTung.maxe=Xe.maxe and Xe.maxe='"+maXeLayTuTrangXe+ "'","loi phutung2");
vMauPhuTung=gc.getDataVector(1,"select Mau from PhuTung,Xe where PhuTung. maxe=Xe.maxe and Xe.maxe = '"+maXeLayTuTrangXe+"'","loi phutung3");
vMoTaPhuTung=gc.getDataVector(1,"select PhuTung.Mota from PhuTung,Xe where PhuTung.maxe=Xe.maxe and Xe.maxe = '"+maXeLayTuTrangXe+"'","loi phutung4");
vHinhAnhPhuTung=gc.getDataVector(1,"select PhuTung.Hinhanh from PhuTung,Xe where PhuTung.maxe=Xe.maxe and Xe.maxe = '"+maXeLayTuTrangXe+"'","loi phutung5");
%>
phu tùng
CHI TIẾT XE
">
Tên Xe ">
Giá : ">
Màu: ">
Mô Tả: ">
Tên Phụ Tùng Gía Màu Mô Tả Hình Ảnh
<%
int dem = 0 ;
while(dem < vMoTaPhuTung.size())
{
%>
<%
String chuoiHinh = "Images/" + vHinhAnhPhuTung.elementAt(dem);
%>
width = 50 height = 80>
<%dem++;}
%>
e.Trang cập nhật xe.
<%
//khai bao cac vector
int soMauTin = 0 ;
Vector vMaXe = new Vector();
Vector vTenXe = new Vector();
Vector vMoTa = new Vector();
String maXe = "";
String tenXe = "";
String moTa = "";
//lay ve bien sql
if(request.getParameter("bienSql") != null)
if(request.getParameter("bienSql").equals("kptv"))
{
out.println("Bankhong phai la thanh vien cap nhat ");
}
else
{
out.println("TRANG THAI CAP NHAT: ");
if(request.getParameter("bienSql").equals("THANH CONG"))
out.println("THAt BAI");
else
out.println("THANH CONG......");
}
if(request.getParameter("maXe") != null)
{
maXe = request.getParameter("maXe");
tenXe = request.getParameter("tenXe");
moTa = request.getParameter("moTa");
}
my.KetNoi kn = new my.KetNoi ();
soMauTin = kn.laySoMauTin("select maXe from Xe","Loi Khi Lay So Mau Tin Xe") ;
if(kn.getDataVector(1,"select maXe from Xe ","Loi khi lay thong tin max").size() > 0)
{
vMaXe = kn.getDataVector(1,"select maXe from Xe ","Loi khi lay thong tin max");
vTenXe = kn.getDataVector(1,"select TenXe from Xe ","Loi khi lay thong tin tenxe");
vMoTa = kn.getDataVector(1,"select MoTa from Xe ","Loi khi lay thong tin mota xe");
}
%>
Untitled Document
CẬP NHẬT XE
Quay lai trang chu--%>
Ma
xe:
<%
if(request.getParameter("viTriVector") != null)
{
int chuoiIndexVector = new Integer(request.getParameter("viTriVector")).intValue();
%>
>
<%}
else
if(vMaXe.size() > 0)
{%>
">
<%}
else
{%>
// Tạo textbox tên xe
Ten xe:
<%
if(request.getParameter("viTriVector") != null)
{
int chuoiIndexVector = new Integer(request.getParameter("viTriVector")).intValue();
%>
>
<%}
else
if(vMaXe.size() > 0)
{%>
">
<%}
else
{%>
// Tạo Textbox Mô tả.
Mo Ta:
<%
if(request.getParameter("viTriVector") != null)
{
int chuoiIndexVector = new Integer(request.getParameter("viTriVector")).intValue();
%>
>
<%}
else
if(vMaXe.size() > 0)
{%>
">
<%}
else
{%>
// Tạo nút xóa va bắ t sự kiện onclick.
// Tạo nút sửa và bắ t sự kiện onclick.
// Khi nhấn nut lưu.
)">Chon Xoa
Chon sua
Ma loai xe
Ten loai xe
Mo Ta
<% // Thể hiện các giá trị lên đe xóa.
int i = 0;
while(i 0)
{
if(request.getParameter("viTriVector") != null && new Integer(request.getParameter("viTriVector")).intValue() == i)
{%>
/>
" checked>
<%}
else
{%>
/>
" onclick="rdioSua()">
<% i++;
}
kn.dongKetNoi();
%>
// Hàm xử lý java script.
function huyThaoTac()
{
myForm.bttLuu.id = "luu";
}
// xu ly javascript khi nhan nut luu
function luu()
{
if(myForm.bttLuu.id.equals("them"))
{
if(myForm.txtMaXe.value.equals(""))
{
alert("Ban chua nhap ma xe");
myForm.txtMaXe.focus();
return false;
}
if(myForm.txtTenXe.value.equals(""))
{
alert("Ban chua nhap ten xe");
myForm.txtTenXe.focus();
return false;
}
if(myForm.txtMoTa.value.equals(""))
{
alert("Ban chua nhap mo ta");
myForm.txtMoTa.focus();
return false;
}
return true;
}
// xử lý khi nhấn nút xóa.
if(myForm.bttLuu.id.equals("xoa"))
{
flagDem = 0;
for(i = 0 ; i ; i++)
{
if(myForm.chk[i].checked == true)
{
flagDem = flagDem + 1;
}
}
if(flagDem == || flagDem > 0)
{
return true;
}
else
{
alert("Ban chua chon gia tri can xoa");
return false;
}
}
//Xử lý khi nhấn nut lưu
if(myForm.bttLuu.id.equals("luu"))
{
alert("ban chua nhan thao tac nao nen nut luu khong co hieu luc");
return false;
}
}
function them()
{
myForm.bttLuu.id = "them";
myForm.bttLuu.value = " Luu(them) ";
myForm.txtMaXe.value = "";
myForm.txtMaXe.focus();
myForm.txtTenXe.value = "";
myForm.txtMoTa.value = "";
}
function xoa()
{
myForm.bttLuu.id = "xoa";
myForm.bttLuu.value = " Luu(xoa) ";
}
function sua()
{
myForm.bttLuu.id = "sua";
myForm.bttLuu.value = " Luu(sua) ";
}
// chon tat ca check box để xóa
function xoaTatCa(so)
{
if(myForm.chkAll.checked == false)
for(i = 0; i < so; i++)
{
myForm.chk[i].checked = true;
}
else
for(i = 0; i < so; i++)
{
myForm.chk[i].checked = false;
}
}
// Hàm chọn radio để sửa
function rdioSua()
{
myForm.action = "XuLyCapNhatLoaiXe.jsp";
myForm.submit();
}
// Hàm hủy thao tác
function huyThaoTac()
{
myForm.action = "CapNhatLoaixe.jsp";
myForm.reset();
}
f. Trang xử lý cập nhật xe.
<%
// Xử lý khi nhấn radio.
if(request.getParameter("bttLuu") == null)
{
String chuoiIndex = reque