Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương trình học


  1. Giới thiệu, cài đặt, cấu hình môi trường lập trình 2
    1. Cài đặt trình soạn thảo code Visual Studio Code IDE Xem trước
    2. Cài đặt tiện ích mở rộng Live Server Extension cho Visual Studio Code
  2. HTML5 là gì? Các thẻ (tag) HTML cơ bản 19
    1. HTML là gì? Cú pháp sử dụng thẻ (tag) trong HTML
    2. Khác biệt giữa HTML và HTML5
    3. Cấu trúc file HTML5 cơ bản
    4. Các Quy tắc và Quy ước nên tuân theo khi lập trình web HTML5 CSS JS
    5. Các thói quen cần có khi lập trình web sử dụng HTML
    6. Các thẻ (tag) định nghĩa mô tả (meta) cho trang web
    7. Các thẻ (tag) định dạng Đề mục (Heading), Phân đoạn (Paragraph), Ngắt dòng (Break) cho văn bản (Text)
    8. Các thẻ (tag) tạo đường kẻ ngang (Horizontal Rule)
    9. Các thẻ (tag) định dạng kiểu font chữ
    10. Các thẻ (tag) định dạng hiển thị cho văn bản (text)
    11. Phân biệt 2 họ font chữ phổ biến SERIF và SANS SERIF
    12. Các thẻ (tag) tạo Siêu liên kết (hyperlink)
    13. Các thẻ (tag) tạo Danh sách (list)
    14. Các thẻ (tag) chèn hình ảnh vào trang web
    15. Các thẻ (tag) chèn các đối tượng đa phương tiện (audio, video) vào trang web
    16. Các thẻ (tag) làm thanh tự động cuộn nội dung trong trang web
    17. Các ký tự đặc biệt trong HTML
    18. Thẻ (tag) IFRAME để nhúng trang web khác vào trang web của mình
    19. Các loại font chữ phổ biến trong thiết kế web SERIF, SANS SERIF, DISPLAY, HANDWRITING, MONOSPACE
  3. Thiết kế bố cục trang web (layout) 12
    1. Thẻ TABLE (TABLE tag) là gì?
    2. Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag)
    3. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Đơn giản
    4. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang chủ
    5. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Giới thiệu
    6. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Liên hệ
    7. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Danh sách Sản phẩm
    8. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Sản phẩm chi tiết
    9. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Giỏ hàng
    10. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Tìm kiếm
    11. Thẻ DIV (DIV tag) là gì?
    12. Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag)
  4. Tạo biểu mẫu nhập liệu sử dụng thẻ (tag) FORM 21
    1. Biểu mẫu nhập liệu (form) là gì? Thường được sử dụng vào mục đích gì?
    2. Tạo ô nhập liệu INPUT 1 dòng (single line text)
    3. Tạo ô nhập liệu TEXTAREA nhiều dòng (multiline text)
    4. Tạo ô nhập liệu INPUT dạng ẩn (hidden)
    5. Tạo nút bấm BUTTON
    6. Tạo ô nhập liệu CHECKBOX chọn 1 hoặc nhiều những tùy chọn
    7. Tạo ô nhập liệu RADIO chọn 1 trong những tùy chọn
    8. Tạo ô nhập liệu SELECT cho phép chọn lựa tùy chọn
    9. Tạo ô nhập liệu INPUT kiểu COLOR
    10. Tạo ô nhập liệu INPUT kiểu DATE
    11. Tạo ô nhập liệu INPUT kiểu EMAIL
    12. Tạo ô nhập liệu INPUT kiểu NUMBER
    13. Tạo ô nhập liệu INPUT kiểu RANGE
    14. Tạo ô nhập liệu INPUT kiểu TEL (số điện thoại)
    15. Tạo ô nhập liệu INPUT kiểu TIME
    16. Tạo ô nhập liệu INPUT kiểu URL
    17. Tạo thanh đo lường METER
    18. Tạo thanh tiến trình PROGRESS
    19. Tạo biểu mẫu (Form) đặt vé Máy bay
    20. Tạo biểu mẫu (Form) Đăng nhập
    21. Tạo biểu mẫu (Form) Đăng ký
  5. CSS là gì? 33
    1. CSS là gì? Cú pháp sử dụng CSS
    2. Các cách áp dụng CSS để định dạng trang web
    3. Các thuộc tính CSS định dạng font chữ
    4. Các thuộc tính CSS quy định màu sắc đối tượng
    5. Đơn vị đo lường trong CSS
    6. Bài tập - Tạo menu ngang đa cấp bằng CSS
    7. Các thuộc tính quy định Kích thước và Khoảng cách của các phần tử
    8. Tìm hiểu về Thuộc tính vị trí Position trong CSS
    9. Tìm hiểu các thuộc tính quy định vị trí Trôi nổi, Dàn hàng ngang sử dụng Float Left, Float Right trong CSS
    10. Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag), thuộc tính CSS Float left, right và kỹ thuật sử dụng điểm ngắt CSS class clear-fix
    11. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Header phong cách 1
    12. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Header phong cách 2
    13. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Header phong cách 3
    14. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Call for Action
    15. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Feature Product
    16. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Services
    17. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Our Team
    18. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Experience
    19. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Our Portfolio phong cách 1
    20. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Our Portfolio phong cách 2
    21. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Our Portfolio phong cách 3
    22. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Statistic
    23. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Testimonials
    24. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Pricing Tables
    25. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Get in touch phong cách 1
    26. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Get in touch phong cách 2
    27. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Footer
    28. Bộ lựa chọn đặc biệt theo trạng thái Pseudo Class và Pseudo Element trong CSS
    29. Bộ lựa chọn trong CSS (CSS Selector)
    30. Sử dụng CSS để làm nhà sáng tạo Nghệ thuật sắp xếp trình bày chữ Typography
    31. Hướng dẫn phân tích Bố cục (layout) Web bán hàng Thực phẩm Dinh dưỡng Organic
    32. Tư duy Thiết kế Khung cần có khi xây dựng giao diện Một Trang web
    33. Tìm hiểu toàn diện về thuộc tính trình diễn ảnh object-fit trong CSS
  6. Javascript căn bản 9
    1. Javascript là gì? Ứng dụng của Javascript
    2. Các cách sử dụng Javascript trong trang web
    3. Biến trong Javascript
    4. Hàm trong Javascript
    5. Lab 01 - tạo chương trình tính toán cơ bản
    6. Bài tập Ghép chuỗi String
    7. Kiểm tra Kiến thức JS
    8. Cấu trúc điều khiển sử dụng IF ELSE
    9. Cách lấy dữ liệu Người dùng từ Biểu mẫu (FORM)
  7. JQuery căn bản 10
    1. Giới thiệu JQuery và ứng dụng của JQuery trong thiết kế, lập trình web
    2. Cú pháp của JQUERY và cách sử dụng JQUERY trong trang web
    3. Tìm hiểu quy tắc vận hành của JQUERY
    4. Toàn tập về Bộ lựa chọn (selector)
    5. Bài tập Tạo trang tùy chỉnh Nội dung và Giao diện bằng JQUERY
    6. Bài tập Thực thi một hàm xử lý sau một khoảng thời gian bằng hàm setTimeout
    7. Bài tập Thực thi một hàm xử lý liên tục sau 1 khoảng thời gian bằng hàm setInterval
    8. Thu thập dữ liệu người dùng nhập trong FORM bằng JQUERY
    9. Tích hợp bộ công cụ Soạn thảo văn bản Trực quan WYSIWYG CKEDITOR
    10. Tích hợp công cụ chọn Ngày Tháng Date Picker
  8. Bootstrap là gì? JQuery là cái chi? 8
    1. Giới thiệu Bootstrap
    2. Cách sử dụng Bootstrap trong dự án của bạn
    3. Hệ thống Lưới (GRID) của Bootstrap
    4. Bài tập - Thiết kế Bố cục (layout) bằng Bootstrap
    5. Ràng buộc dữ liệu (validation) bằng Bootstrap
    6. Bài tập Tổng hợp - Thực hiện Trang web Landing Page giới thiệu Công ty
    7. Thiết kế trang web bố cục (layout) tùy biến theo từng thiết bị màn hình (Responsive)
    8. Tùy biến giao diện theo từng thiết bị màn hình (Responsive) bằng kỹ thuật CSS Media Query
  9. Làm Đồ án Web thực tế Trang bán hàng Nền Tảng phiên bản Bootstrap 14
    1. Lộ trình (Roadmap) Thực hiện Đồ án
    2. Khởi tạo thư mục dự án
    3. Phân tích Bố cục (layout)
    4. Xây dựng Trang chủ (index)
    5. Xây dựng Trang Giới thiệu (about)
    6. Xây dựng Trang Liên hệ (contact)
    7. Xây dựng Trang Danh sách Sản phẩm (products)
    8. Xây dựng Trang Chi tiết Sản phẩm (product_detail)
    9. Xây dựng Trang Giỏ hàng (cart)
    10. Xây dựng Trang Thanh toán (checkout)
    11. Xây dựng Trang Đăng nhập (login)
    12. Xây dựng Trang Đăng ký (register)
    13. Xây dựng Trang Tìm kiếm (search)
    14. Thưởng thức Kết quả (demo version)
  10. Kiểm tra
  11. Tài liệu tham khảo 4
    1. Kho sách, nguồn tài liệu tham khảo Lập trình web Frontend HTML CSS JS
    2. SourceCode tham khảo Lập trình web Frontend HTML CSS JS
    3. Các thể loại Menu trong Thiết kế Web
    4. Tổng hợp các công cụ tự sinh Giao diện HTML, CSS, JS tuyệt vời dành cho Nhà phát triển thiết kế Web
  12. VueJS 7
    1. VueJS là gì? Ứng dụng của VueJS trong phát triển web FrontEnd
    2. Tìm hiểu Kiến trúc Hệ thống Web MVVM - Model View ViewModel
    3. Component trong VueJS
    4. Kiểm tra ràng buộc dữ liệu (validation) bằng VueJS và Bootstrap đơn giản
    5. Kiểm tra ràng buộc dữ liệu (Validation) bằng VueJS và Bootstrap
    6. Bài tập - Sử dụng Bootstrap và VueJS để thiết kế Trang Tuyển dụng các Vị trí Việc làm Công nghệ
    7. Test
  13. UI/UX trong lập trình Web 2
    1. Tìm hiểu về khái niệm UI/UX trong thiết kế ứng dụng
    2. Quy trình Xây dựng, Thiết kế một trang Web
  14. CSS Flexbox 1
    1. Tạo cấu trúc Dòng x Cột trong CSS Flexbox
  15. Extras 2
    1. Bài tập xử lý lưu trữ dữ liệu với LocalStorage
    2. Tạo hiệu ứng chuyển động animation với tính năng motion-path CSS
  16. Video khóa học 1
    1. Video khóa học toàn tập

Chương 12-Bài 5. Kiểm tra ràng buộc dữ liệu (Validation) bằng VueJS và Bootstrap

Tác giả: Dương Nguyễn Phú Cường
Ngày đăng: Hồi xưa đó

Sử dụng VueJS và Bootstrap để tạo trang Liên hệ (contact) có các Ràng buộc kiểm tra dữ liệu như sau:

Yêu cầu

Tạo 1 Form có 4 trường nhập liệu (field / input), với các ràng buộc sau:
  1. Họ tên
    1. Bắt buộc nhập (required)
    2. Phải nhập từ 5 ký tự trở lên
  2. Email
    1. Bắt buộc nhập (required)
    2. Phải nhập từ 5 ký tự trở lên
    3. Phải nhập đúng định dạng của Email
  3. Sốđiện thoại
    1. Bắt buộc nhập (required)
    2. Phải nhập từ 5 ký tự trở lên
  4. Lời nhắn
    1. Bắt buộc nhập (required)
    2. Phải nhập từ 5 ký tự trở lên

Thực hiện

Step 1: Tạo cấu trúc thư mục như sau:

vuejs
|   index.html                                          <- Trang chủ
|   
+---css                                                 <- Thư mục chứa các file CSS dùng trong dự án (tự mình viết)
|       app.css         
+---img                                                 <- Thư mục chứa các ảnh dùng trong dự án
|       ...
|       
+---js                                                  <- Thư mục chứa các file JS dùng trong dự án (tự mình viết)
|       app.js
|       
+---pages                                               <- Thư mục chứa các file HTML (Trang web con); được tố chức theo thư mục để tiện quản lý
|   |   about.html                                      <- Trang Giới thiệu
|   |   contact.html                                    <- Trang Liên hệ
|   |   
|   \---news                                            <- Các trang Tin tức
|           cuoc-song-ict.html
|           hanh-trinh-di-chung-taxi-ve-que.html
|           hien-thuc-hoa-y-tuong.html
|           
\---vendor                                              <- Thư mục chứa các Thư viện bên thứ 3 (3rd party) dùng trong thiết kế giao diện Frontend
    +---bootstrap                                       <- Bootstrap
    |   +---css
    |   \---js
    |               
    +---jquery                                          <- JQuery
    |       jquery.min.js
    |       
    \---vuejs                                           <- VueJS
            vue.js
            

Step 2: code trong file pages/contact.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Liên hệ | NenTang.vn</title>

    <!-- Liên kết CSS Bootstrap -->
    <link href="../../vendor/bootstrap/css/bootstrap.min.css" type="text/css" rel="stylesheet" />

</head>

<body>
    <!-- Khung chứa (container) xử lý render của VueJS -->
    <div id="app">
        <div class="container">
            <h1>Liên hệ</h1>

            <!-- 
                1. Khai bao thuộc tính novalidate="true"
                => không sử dụng Validate (kiểm tra ràng buộc) mặc định của Web Browser
                => chúng ta sẽ sử dụng hàm trong VueJS để kiểm tra (custom validate)
                2. Đăng ký / bắt sự kiện Submit của FORM -> gọi hàm kiemTraDuLieu()
                Sử dụng v-on:submit="kiemTraDuLieu"
                hoặc        @submit="kiemTraDuLieu"
            -->
            <form name="frmLienHe" id="frmLienHe" method="post" action="#" novalidate="true" @submit="kiemTraDuLieu">

                <!-- Nếu có lỗi thì hiển thị thông báo lỗi trong vùng này, sử dụng ALERT BOOTSTRAP -->
                <div class="alert alert-danger" role="alert" v-if="hienThiThongBaoLoi()">
                    <b>Vui lòng kiểm tra lại các lỗi sau:</b>
                    <ul>
                        <li v-for="error in errors">{{ error }}</li>
                    </ul>
                </div>
                <!-- Nếu không có lỗi thì hiển thị thông báo chào mừng trong vùng này, sử dụng ALERT BOOTSTRAP -->
                <div class="alert alert-success" role="alert" v-if="hienThiThongBaoChaoMung()">
                    <b>Dữ liệu đã nhập hợp lệ -> sẽ được gởi đén Server...</b>
                </div>

                <div class="form-row">
                    <div class="col">
                        <div class="form-group">
                            <label>Họ tên</label>
                            <!-- 
                                Data Binding: là quá trình gắn giá trị người dùng nhập trong ô input vào 1 biến cụ thể trong VueJS
                                Sử dụng: v-model="tenbien"
                                Ví dụ: v-model="hoten" => sẽ binding dữ liệu vào trong biến tên là `hoten`
                            -->
                            <input type="text" name="txtHoTen" id="txtHoTen" class="form-control" v-model="hoten"/>
                        </div>
                    </div>
                    <div class="col">
                        <div class="form-group">
                            <label>Email</label>
                            <!-- 
                                Data Binding: là quá trình gắn giá trị người dùng nhập trong ô input vào 1 biến cụ thể trong VueJS
                                Sử dụng: v-model="tenbien"
                            -->
                            <input type="email" name="txtEmail" id="txtEmail" class="form-control" v-model="email" />
                        </div>
                    </div>
                    <div class="col">
                        <div class="form-group">
                            <label>Số điện thoại</label>
                            <!-- 
                                Data Binding: là quá trình gắn giá trị người dùng nhập trong ô input vào 1 biến cụ thể trong VueJS
                                Sử dụng: v-model="tenbien"
                            -->
                            <input type="text" name="txtSoDienThoai" id="txtSoDienThoai" class="form-control" v-model="sodienthoai" />
                        </div>
                    </div>
                </div>
                <div class="form-row">
                    <div class="col">
                        <div class="form-group">
                            <label>Lời nhắn</label>
                            <!-- 
                                Data Binding: là quá trình gắn giá trị người dùng nhập trong ô input vào 1 biến cụ thể trong VueJS
                                Sử dụng: v-model="tenbien"
                            -->
                            <textarea name="txtLoiNhan" id="txtLoiNhan" class="form-control" v-model="loinhan"></textarea>
                        </div>
                    </div>
                </div>
                <div class="form-row">
                    <div class="col">
                        <button type="submit" class="btn btn-primary">Gởi lời nhắn</button>
                    </div>
                </div>
            </form>
        </div>
    </div>

    <!-- Liên kết Jquery -->
    <script src="../../vendor/jquery/jquery.min.js"></script>

    <!-- Liên kết Bootstrap -->
    <script src="../../vendor/bootstrap/js/bootstrap.min.js"></script>

    <!-- Liên kết VueJS -->
    <script src="../../vendor/vuejs/vue.js"></script>

    <!-- Code xử lý Trang web bằng VueJS -->
    <script src="../../assets/js/pages/contact.js"></script>
</body>

</html>

Step 3: code xử lý Trang liên hệ bằng VueJS

Để dễ dàng quản lý source code, chúng ta sẽ tạo file xứ lý Javascript tương ứng với từng trang chức năng.
  • Tạo file: assets/js/pages/contact.js
// Khởi tạo đối tượng (instance) Vue
var vue = new Vue({
    el: '#app',
    data: {
        // Tạo biến quản lý lỗi là mảng rỗng
        errors: [],

        // Tạo biến quản lý việc kiếm tra Ràng buộc dữ liệu (validation) hay chưa?
        // Mặc định là chưa kiểm tra
        dakiemtraloixong: false,

        // Khởi tạo giá trị ban đầu cho FORM
        hoten: '',
        email: '',
        sodienthoai: '',
        loinhan: ''
    },
    methods: {
        kiemTraDuLieu: function (e) {
            // Dừng sự kiện tiếp theo của FORM
            e.preventDefault();

            // Trước khi kiểm tra, cần reset lại biến lỗi
            // => Giả sử như chưa có lỗi xảy ra
            this.errors = [];
            this.dakiemtraloixong = false;

            // Validate Họ tên
            // Kiểm tra rỗng
            if (this.hoten == "") {
                this.errors.push('Vui lòng nhập Họ tên');
            } else if (this.hoten.length < 5) { // Kiểm tra độ dài
                this.errors.push('Vui lòng nhập Họ tên 5 ký tự trở lên');
            }

            // Validate Email
            // Kiểm tra rỗng
            if (this.email == "") {
                this.errors.push('Vui lòng nhập địa chỉ Email');
            } else if (this.email.length < 5) { // Kiểm tra độ dài
                this.errors.push('Vui lòng nhập địa chỉ Email 5 ký tự trở lên');
            } else if (!this.validateEmail(this.email)) { // Kiểm tra mẫu nhập EMAIL
                this.errors.push('Vui lòng nhập email đúng định dạng');
            }

            // Validate Số điện thoại
            // Kiểm tra rỗng
            if (this.sodienthoai == "") {
                this.errors.push('Vui lòng nhập số điện thoại');
            } else if (this.sodienthoai.length < 5) { // Kiểm tra độ dài
                this.errors.push('Vui lòng nhập số điện thoại 5 ký tự trở lên');
            }

            // Validate Lời nhắn
            // Kiểm tra rỗng
            if (this.loinhan == "") {
                this.errors.push('Vui lòng nhập lời nhắn');
            } else if (this.loinhan.length < 5) { // Kiểm tra độ dài
                this.errors.push('Vui lòng nhập lời nhắn 5 ký tự trở lên');
            }

            // Đã kiểm tra lỗi xong
            this.dakiemtraloixong = true;

            // Ví dụ demo, ngưng gởi dữ liệu SUBMIT đi
            // Always return false
            return false;
        },
        validateEmail: function (email) {
            if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) {
                return true;
            }
            return false;
        },
        hienThiThongBaoLoi: function() {
            // Nếu chưa vượt qua bước kiểm tra lỗi thì không được hiển thị thông báo
            if(this.dakiemtraloixong == false) {
                return false;
            }

            // Nếu có bất kỳ lỗi nào (mảng array lỗi không rỗng) => độ dài array > 0)
            // Có lỗi => được hiển thị thông báo lỗi
            if(this.errors.length > 0) {
                return true;
            } 

            // Nếu không có lỗi thì không được hiển thị thông báo lỗi
            return false;
        },
        hienThiThongBaoChaoMung: function() {
            // Nếu chưa vượt qua bước kiểm tra lỗi thì không được hiển thị thông báo
            if(this.dakiemtraloixong == false) {
                return false;
            }

            // Nếu không có bất kỳ lỗi nào (mảng array lỗi là rỗng) => độ dài array == 0)
            // Không có lỗi => được hiển thị thông báo chào mừng
            if(this.errors.length == 0) {
                return true;
            } 

            // Mặc định không hiển thị
            return false;
        }
    }
});
 

Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Giới thiệu, cài đặt, cấu hình môi trường lập trình 2
    1. Cài đặt trình soạn thảo code Visual Studio Code IDE Xem trước
    2. Cài đặt tiện ích mở rộng Live Server Extension cho Visual Studio Code
  2. HTML5 là gì? Các thẻ (tag) HTML cơ bản 19
    1. HTML là gì? Cú pháp sử dụng thẻ (tag) trong HTML
    2. Khác biệt giữa HTML và HTML5
    3. Cấu trúc file HTML5 cơ bản
    4. Các Quy tắc và Quy ước nên tuân theo khi lập trình web HTML5 CSS JS
    5. Các thói quen cần có khi lập trình web sử dụng HTML
    6. Các thẻ (tag) định nghĩa mô tả (meta) cho trang web
    7. Các thẻ (tag) định dạng Đề mục (Heading), Phân đoạn (Paragraph), Ngắt dòng (Break) cho văn bản (Text)
    8. Các thẻ (tag) tạo đường kẻ ngang (Horizontal Rule)
    9. Các thẻ (tag) định dạng kiểu font chữ
    10. Các thẻ (tag) định dạng hiển thị cho văn bản (text)
    11. Phân biệt 2 họ font chữ phổ biến SERIF và SANS SERIF
    12. Các thẻ (tag) tạo Siêu liên kết (hyperlink)
    13. Các thẻ (tag) tạo Danh sách (list)
    14. Các thẻ (tag) chèn hình ảnh vào trang web
    15. Các thẻ (tag) chèn các đối tượng đa phương tiện (audio, video) vào trang web
    16. Các thẻ (tag) làm thanh tự động cuộn nội dung trong trang web
    17. Các ký tự đặc biệt trong HTML
    18. Thẻ (tag) IFRAME để nhúng trang web khác vào trang web của mình
    19. Các loại font chữ phổ biến trong thiết kế web SERIF, SANS SERIF, DISPLAY, HANDWRITING, MONOSPACE
  3. Thiết kế bố cục trang web (layout) 12
    1. Thẻ TABLE (TABLE tag) là gì?
    2. Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag)
    3. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Đơn giản
    4. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang chủ
    5. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Giới thiệu
    6. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Liên hệ
    7. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Danh sách Sản phẩm
    8. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Sản phẩm chi tiết
    9. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Giỏ hàng
    10. Bài tập - Thiết kế bố cục trang web sử dụng thẻ TABLE (TABLE tag) - Web Bán hàng - Trang Tìm kiếm
    11. Thẻ DIV (DIV tag) là gì?
    12. Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag)
  4. Tạo biểu mẫu nhập liệu sử dụng thẻ (tag) FORM 21
    1. Biểu mẫu nhập liệu (form) là gì? Thường được sử dụng vào mục đích gì?
    2. Tạo ô nhập liệu INPUT 1 dòng (single line text)
    3. Tạo ô nhập liệu TEXTAREA nhiều dòng (multiline text)
    4. Tạo ô nhập liệu INPUT dạng ẩn (hidden)
    5. Tạo nút bấm BUTTON
    6. Tạo ô nhập liệu CHECKBOX chọn 1 hoặc nhiều những tùy chọn
    7. Tạo ô nhập liệu RADIO chọn 1 trong những tùy chọn
    8. Tạo ô nhập liệu SELECT cho phép chọn lựa tùy chọn
    9. Tạo ô nhập liệu INPUT kiểu COLOR
    10. Tạo ô nhập liệu INPUT kiểu DATE
    11. Tạo ô nhập liệu INPUT kiểu EMAIL
    12. Tạo ô nhập liệu INPUT kiểu NUMBER
    13. Tạo ô nhập liệu INPUT kiểu RANGE
    14. Tạo ô nhập liệu INPUT kiểu TEL (số điện thoại)
    15. Tạo ô nhập liệu INPUT kiểu TIME
    16. Tạo ô nhập liệu INPUT kiểu URL
    17. Tạo thanh đo lường METER
    18. Tạo thanh tiến trình PROGRESS
    19. Tạo biểu mẫu (Form) đặt vé Máy bay
    20. Tạo biểu mẫu (Form) Đăng nhập
    21. Tạo biểu mẫu (Form) Đăng ký
  5. CSS là gì? 33
    1. CSS là gì? Cú pháp sử dụng CSS
    2. Các cách áp dụng CSS để định dạng trang web
    3. Các thuộc tính CSS định dạng font chữ
    4. Các thuộc tính CSS quy định màu sắc đối tượng
    5. Đơn vị đo lường trong CSS
    6. Bài tập - Tạo menu ngang đa cấp bằng CSS
    7. Các thuộc tính quy định Kích thước và Khoảng cách của các phần tử
    8. Tìm hiểu về Thuộc tính vị trí Position trong CSS
    9. Tìm hiểu các thuộc tính quy định vị trí Trôi nổi, Dàn hàng ngang sử dụng Float Left, Float Right trong CSS
    10. Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag), thuộc tính CSS Float left, right và kỹ thuật sử dụng điểm ngắt CSS class clear-fix
    11. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Header phong cách 1
    12. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Header phong cách 2
    13. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Header phong cách 3
    14. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Call for Action
    15. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Feature Product
    16. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Services
    17. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Our Team
    18. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Experience
    19. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Our Portfolio phong cách 1
    20. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Our Portfolio phong cách 2
    21. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Our Portfolio phong cách 3
    22. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Statistic
    23. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Testimonials
    24. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Pricing Tables
    25. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Get in touch phong cách 1
    26. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Get in touch phong cách 2
    27. Bài tập - Thiết kế bố cục trang web sử dụng thẻ DIV (DIV tag) - Footer
    28. Bộ lựa chọn đặc biệt theo trạng thái Pseudo Class và Pseudo Element trong CSS
    29. Bộ lựa chọn trong CSS (CSS Selector)
    30. Sử dụng CSS để làm nhà sáng tạo Nghệ thuật sắp xếp trình bày chữ Typography
    31. Hướng dẫn phân tích Bố cục (layout) Web bán hàng Thực phẩm Dinh dưỡng Organic
    32. Tư duy Thiết kế Khung cần có khi xây dựng giao diện Một Trang web
    33. Tìm hiểu toàn diện về thuộc tính trình diễn ảnh object-fit trong CSS
  6. Javascript căn bản 9
    1. Javascript là gì? Ứng dụng của Javascript
    2. Các cách sử dụng Javascript trong trang web
    3. Biến trong Javascript
    4. Hàm trong Javascript
    5. Lab 01 - tạo chương trình tính toán cơ bản
    6. Bài tập Ghép chuỗi String
    7. Kiểm tra Kiến thức JS
    8. Cấu trúc điều khiển sử dụng IF ELSE
    9. Cách lấy dữ liệu Người dùng từ Biểu mẫu (FORM)
  7. JQuery căn bản 10
    1. Giới thiệu JQuery và ứng dụng của JQuery trong thiết kế, lập trình web
    2. Cú pháp của JQUERY và cách sử dụng JQUERY trong trang web
    3. Tìm hiểu quy tắc vận hành của JQUERY
    4. Toàn tập về Bộ lựa chọn (selector)
    5. Bài tập Tạo trang tùy chỉnh Nội dung và Giao diện bằng JQUERY
    6. Bài tập Thực thi một hàm xử lý sau một khoảng thời gian bằng hàm setTimeout
    7. Bài tập Thực thi một hàm xử lý liên tục sau 1 khoảng thời gian bằng hàm setInterval
    8. Thu thập dữ liệu người dùng nhập trong FORM bằng JQUERY
    9. Tích hợp bộ công cụ Soạn thảo văn bản Trực quan WYSIWYG CKEDITOR
    10. Tích hợp công cụ chọn Ngày Tháng Date Picker
  8. Bootstrap là gì? JQuery là cái chi? 8
    1. Giới thiệu Bootstrap
    2. Cách sử dụng Bootstrap trong dự án của bạn
    3. Hệ thống Lưới (GRID) của Bootstrap
    4. Bài tập - Thiết kế Bố cục (layout) bằng Bootstrap
    5. Ràng buộc dữ liệu (validation) bằng Bootstrap
    6. Bài tập Tổng hợp - Thực hiện Trang web Landing Page giới thiệu Công ty
    7. Thiết kế trang web bố cục (layout) tùy biến theo từng thiết bị màn hình (Responsive)
    8. Tùy biến giao diện theo từng thiết bị màn hình (Responsive) bằng kỹ thuật CSS Media Query
  9. Làm Đồ án Web thực tế Trang bán hàng Nền Tảng phiên bản Bootstrap 14
    1. Lộ trình (Roadmap) Thực hiện Đồ án
    2. Khởi tạo thư mục dự án
    3. Phân tích Bố cục (layout)
    4. Xây dựng Trang chủ (index)
    5. Xây dựng Trang Giới thiệu (about)
    6. Xây dựng Trang Liên hệ (contact)
    7. Xây dựng Trang Danh sách Sản phẩm (products)
    8. Xây dựng Trang Chi tiết Sản phẩm (product_detail)
    9. Xây dựng Trang Giỏ hàng (cart)
    10. Xây dựng Trang Thanh toán (checkout)
    11. Xây dựng Trang Đăng nhập (login)
    12. Xây dựng Trang Đăng ký (register)
    13. Xây dựng Trang Tìm kiếm (search)
    14. Thưởng thức Kết quả (demo version)
  10. Kiểm tra
  11. Tài liệu tham khảo 4
    1. Kho sách, nguồn tài liệu tham khảo Lập trình web Frontend HTML CSS JS
    2. SourceCode tham khảo Lập trình web Frontend HTML CSS JS
    3. Các thể loại Menu trong Thiết kế Web
    4. Tổng hợp các công cụ tự sinh Giao diện HTML, CSS, JS tuyệt vời dành cho Nhà phát triển thiết kế Web
  12. VueJS 7
    1. VueJS là gì? Ứng dụng của VueJS trong phát triển web FrontEnd
    2. Tìm hiểu Kiến trúc Hệ thống Web MVVM - Model View ViewModel
    3. Component trong VueJS
    4. Kiểm tra ràng buộc dữ liệu (validation) bằng VueJS và Bootstrap đơn giản
    5. Kiểm tra ràng buộc dữ liệu (Validation) bằng VueJS và Bootstrap
    6. Bài tập - Sử dụng Bootstrap và VueJS để thiết kế Trang Tuyển dụng các Vị trí Việc làm Công nghệ
    7. Test
  13. UI/UX trong lập trình Web 2
    1. Tìm hiểu về khái niệm UI/UX trong thiết kế ứng dụng
    2. Quy trình Xây dựng, Thiết kế một trang Web
  14. CSS Flexbox 1
    1. Tạo cấu trúc Dòng x Cột trong CSS Flexbox
  15. Extras 2
    1. Bài tập xử lý lưu trữ dữ liệu với LocalStorage
    2. Tạo hiệu ứng chuyển động animation với tính năng motion-path CSS
  16. Video khóa học 1
    1. Video khóa học toàn tập

Bài học trước Bài học tiếp theo