PHẦN CƠ BẢN
VÒNG LẶP
DATA TYPES
EVENTS
DOM
BOM
OBJECT
BỔ SUNG
THỰC HÀNH
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Mẹo sử dụng thuộc tính HTML trong Javascript

Trong bài này mình sẽ giới thiệu đến các bạn một mẹo rất hay khi làm việc với Javascript, đó là sử dụng các thuộc tính của HTML để giải quyết cho yêu cầu của bài toán.

Theo lý thuyết thì mỗi thẻ HTML sẽ có một số thuộc tính nhất định, tuy nhiên tùy vào mỗi bài toán mà bạn có thể bổ sung thuộc tính nhằm giúp bài toán được giải quyết đơn giản hơn. Và sau đây mình sẽ lấy một ví dụ đơn giản để bạn hiểu được cách vận dụng thủ thuật này vào bài toán riêng nhé.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Giả sử mình cần viết chương trình như sau: Hãy cho thay đổi số lượng sản phẩm, nếu số lượng nhập bé hơn 0 thì lập tức thông thông báo lỗi, đồng thời thiết lập lại giá trị ban đầu cho số lượng đó.

Mình sẽ khai báo một thẻ input có cấu trúc HTML như sau:

<input type="text" name="product_nums" value="20"/>

Thẻ này cho thấy số lượng ban đầu là 20. Bây giờ viết chương trình cho sự kiện onchange, mỗi khi người dùng đổi số lượng và nếu lớn hơn hoặc bằng 0 thì chấp nhận, bé hơn 0 thì loại bỏ và quay về giá trị ban đầu.

Để làm điều này ta sẽ thay đổi cấu trúc HTML một chút, đó là bổ sung thêm thuộc tính init-value như sau:

<input type="text" name="product_nums" init-value="20" value="20"/>

Thuộc tính init-value mặc dù không phải là của thẻ input nhưng ta có thể thêm vào để giúp lưu trữ giá trị hợp lệ cuối cùng của mỗi lần nhập. Ở đây mình gán bằng 20 chính là thiết lập ban đầu (chưa có thao tác thay đổi).

Code Javascript sẽ như sau:

function validate(obj){
    var value = parseInt(obj.value);
    
    // Nếu nhập giá trị bé hơn 0
    // thì thông báo lỗi và backup lại giá trị ban đầu
    if (value < 0){
        var init_value = obj.getAttribute('init-value');
        obj.value = init_value;
    }
    else {
        // Ngược lại nhập đúng thì 
        // Cập nhật giá trị backup
        obj.setAttribute('init-value', value);    }
}

Và đây là toàn bộ code:

Full Code RUN
<!DOCTYPE html>
<html>
    <head>
        <title>Học javascript tại freetuts.net</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script>
            function validate(obj){
                var value = parseInt(obj.value);

                // Nếu nhập giá trị bé hơn 0
                // thì thông báo lỗi và backup lại giá trị ban đầu
                if (value < 0){
                    var init_value = obj.getAttribute('init-value');
                    obj.value = init_value;
                }
                else {
                    // Ngược lại nhập đúng thì 
                    // Cập nhật giá trị backup
                    obj.setAttribute('init-value', value);
                }
            }
        </script>
    </head>
    <body style="margin: 50px;">
        <input type="text" onchange="validate(this)" name="product_nums" init-value="20" value="20"/>
    </body>
</html>

Trên là mình lấy một ví dụ đơn giản để bạn hiểu được vấn đề cốt lõi của bài toán, đó chính là tự ý khai báo các thuộc tính HTML để giúp chương trình Javascript ngắn gọn hơn.

Cùng chuyên mục:

Cách gộp hai object javascript lại với nhau

Cách gộp hai object javascript lại với nhau

Cách lấy chiều dài của object trong Javascript

Cách lấy chiều dài của object trong Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Cách dùng nextSibling trong javascript

Cách dùng nextSibling trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng innerHTML trong Javascript

Cách dùng innerHTML trong Javascript

Cách dùng insertBefore trong javascript

Cách dùng insertBefore trong javascript

Cách dùng insertAfter trong Javascript

Cách dùng insertAfter trong Javascript

Cách dùng parentNode trong Javascript

Cách dùng parentNode trong Javascript

Cách dùng parentElement trong Javascript

Cách dùng parentElement trong Javascript

Tính tổng các phần tử trong mảng javascript

Tính tổng các phần tử trong mảng javascript

Tính tổng hai số bằng Javascript (cộng hai số)

Tính tổng hai số bằng Javascript (cộng hai số)

Cách gán giá trị cho thẻ input trong javascript

Cách gán giá trị cho thẻ input trong javascript

Để gán giá trị cho thẻ input thì ta có hai cách, thứ nhất là…

Cách kiểm tra số nguyên âm trong javascript

Cách kiểm tra số nguyên âm trong javascript

Cách kiểm tra số nguyên dương trong javascript

Cách kiểm tra số nguyên dương trong javascript

Hàm closure trong javascript

Hàm closure trong javascript

Closure là một khái niệm không phải ai cũng ..

Biểu thức chính quy RegEx trong Javascript

Biểu thức chính quy RegEx trong Javascript

Bài này chúng ta sẽ tìm hiểu đến chuỗi và cách sử dụng biểu thức…

Cách dùng Import / Export Module trong javascript

Cách dùng Import / Export Module trong javascript

Khi bạn xây dựng một ứng dụng nhỏ thì việc đặt

Cơ chế hoạt động của hoisting trong Javascript

Cơ chế hoạt động của hoisting trong Javascript

Hoisting là vấn đề liên quan đến cách khai báo biến trong Javascript. Nó liên…

Cấp độ private / protected của class trong Javascript

Cấp độ private / protected của class trong Javascript

Top