Lấy dữ liệu từ form javascript

Kiểm tra dữ liệu trong form với javascript là công việc quan trọng thường phải thực hiện của web dev, để kiểm tra tính đúng đắn của dữ liệu.

Trong trang web, form là các vùng để người dùng nhập thông tin. Ví dụ: form đăng nhập, form đăng ký, form liên hệ, form tìm kiếm…Mỗi form, thường có 1 nút submit để gửi dữ liệu lên server.

Khi người dùng nhắp vào nút submit thì trình duyệt sẽ gorm dữ liệu trong form gửi lên cho server xử lý

Truy cập đến form dùng javascript

Có thể truy cập đến Form bằng các cách sau

Truy xuất đến form theo chỉ số : document.forms[chỉsố]
Truy xuất đến form theo tên : document.forms['tênform']
Truy xuất đến form theo cú pháp ngắn gọn: document.tênform

Truy cập đến các control trong form để lấy value

- Dùng hàm getElementById : document.getElementIdById['idcủaControl'].value;
- Dùng hàm getElementsByName : document.getElementsByName['namecủaControl'][chỉ số].value;
- Truy xuất thông qua form: document.tênForm.tênControl.value;
     
    Tìm kiếm
 

    t = document.tk.tukhoa.value; alert[t];
    t = document.forms[0].tukhoa.value; alert[t];
    t = document.getElementById["kw"].value; alert[t];

Kiểm tra dữ liệu trong form với javascript

Là kiểm tra xem thông tin có được điền vào form đúng yêu cầu hay chưa. Ví dụ tuổi hay số lượng sản phẩm phải là kiểu số nguyên, ngàysinh được được là chữ, mã sinh viên phải dài 7 ký tự …. Nhờ kiểm tra và báo lỗi, user được thông báo và nhập lại cho đúng, khi đó thông tin được xử lý và lưu trữ mới mới có giá trị

Sự kiện onsubmit của form

Mỗi form có một hoặc nhiều nút submit. Khi user nhắp nút submit thì sự kiện onSubmit của form sẽ xảy ra.

Dùng javascript, bạn có thể  can thiệp để sự kiện submit có được xảy ra hay không. Trong onSubmit return true [mặc định] thì sự kiện submit diễn ra bình thường, tức dữ liệu trong form sẽ được gửi lên Server. Nếu trong onSubmit bạn dùng return false thì sự kiện submit của form bị bỏ qua, dữ liệu không được gửi lên server

Thực hiện kiểm tra dữ liệu trong form với javascript

Bạn cần viết một để kiểm tra dữ liệu trong form xem có hợp với quy tắc mong muốn hay không, nếu không hợp lệ thì trả về false, còn nếu hợp lệ thì trả về true. Hàm này bạn gọi trong sự kiện onSubmit của tag form. Ví dụ:


    
Username
Password
Đăng nhập

Code javascript kiểm tra


function kiemtra[]{
    var u = document.frmlogin.u.value;
    var p = document.frmlogin.p.value;
    if [u==""] { //quy tắc 1
        document.getElementById["baoloi"].innerHTML="Chưa nhập username mà";
        return false;
    }
    if [p==""] {  //quy tắc 2
        document.getElementById["baoloi"].innerHTML="Chưa nhập password mà";
        return false;
    }
    return true;
}

Tùy tính chất phức tạp của các quy tắc dữ liệu , mà các quy tắc kiểm tra trong hàm kiemtra sẽ nhiều hoặc ít. Nhưng sẽ trả về true khi kiểm tra đúng và false khi có dữ liệu sai quy tắc.

Các control trong form

Trong mỗi form sẽ có nhiều control để user nhập thông tin như textfield, textarea, selectbox, checkbox, radio button, button…

Thuộc tính name của các form control

Các control trong form có 1 thuộc tính đặt biệt, là thuộc tính name.  Bạn có thể sử dụng thuộc tính name này để truy cập đến một nhóm các control. Ví dụ:

 

Như vậy các tag trong form có 2 thuộc tính định danh là idname. Thuộc tính id là duy nhất, mỗi id đại diện cho 1 tag còn name thì có thể trùng nhau.

Sử dụng phương thức getElementsByName[name] để lấy các element có cùng thuộc tính name. Hàm này trả về một mảng các element cùng name.

Bạn biết ngoại ngữ nào: Anh Pháp Hoa Pali

Chọn Các ngôn ngữ có thể chọn: function chon[]{ var arr = document.getElementsByName["nn"]; var str = ""; for [var i = 0; i < arr.length; i++] str = str + " "+ arr[i].value; document.getElementById["kq"].innerHTML=str; }

Select box

Select box là hộp chọn gồm nhiều mục, mỗi mục nằm trong tag . Mỗi mục có value riêng và text riêng. Khi chọn 1 mục, value của mục sẽ gán cho value của selectbox.

Chú ý: Mục nào có thuộc tính selected sẽ được chọn sẵn khi trang web mới nạp.


An Giang
Bến Tre
Cần Thơ
Hồ Chí Minh
Sóc Trăng
Tây Ninh

Chọn tỉnh
Cần Thơ
Tây Ninh
Bến Tre

Truy xuất đến select box

Bạn truy cập đến giá trị được chọn của select box bằng thuộc tính value. Cũng có thể gán value cho selectbox để thay đổi mục chọn.


function ct[]{
  var v = document.getElementById["tinh"].value;
  alert[v];
}
function gantinh[t]{
   document.getElementById["tinh"].value = t;
}

Checkbox

Checkbox thường dùng để user chọn trạng thái có hay không có 1 tình trạng nào đó. Sử dụng thuộc tính checked của checkbox để lấy trạng thái và gán trạng thái cho checkbox. Nếu thuộc tính checked là true nghĩa là  checkbox đang được chọn, còn nếu thuộc tính checked là false tức checkbox không được chọn.

Các loại kem trong cửa hàng:

Kem que
Kem dâu
Kem bơ
Kem vani

Ứng dụng liệt kê những loại kem được chọn


function chonKem[] {
     var str = "Những loại kem bạn đã chọn là:
"; var arr = document.getElementsByName["kem"]; for [var i = 0; i < arr.length; i++] { if [arr[i].checked] { str= str + arr[i].value +"
" } }//for document.getElementById["kemDaChon"].innerHTML = str; }

Radio button

Radio button là các control để user chọn 1 mục trong nhóm. Giống như checkbox, radio cũng có thuộc tính checked [true / false] diễn tả nó được chọn hay không . Radio button thường dùng theo nhóm, trong mỗi nhóm chỉ 1cái được chọn.

Chú ý: Các radio có cùng name được xem là cùng một nhóm

Lớn
Vừa
Nhỏ
Chọn cỡ

Code javascript lấy value các radio được chọn


function chonco[]{
   var size="";
   var arr = document.getElementsByName["co"];
   for [var i = 0; i < arr.length; i++] {
       if [arr[i].checked] {
          size = arr[i].value;
       }
    }//for
    str = "Kích thước bạn đã chọn là: " + size;
    document.getElementById["coKemDaChon"].innerHTML= str;
}

Thực hiện kiểm tra dữ liệu trong form với javascript

  1. Lấy giá trị hoặc trạng thái mà user đã nhập: Để kiểm tra dữ liệu , bạn lấy các giá trị trong các textfield, selectbox, radio, checkbox … bằng thuộc tính value của nó. Với các checkbox và radiobox, có thể dùng thuộc tính checked để biết có được check hay không.
  2. Kiểm tra chữ hay số: Dùng hàm isNaN[] để kiểm tra chữ hay số,
  3. Kiểm tra độ dài dữ liệu: dùng thuộc tính length để đếm số ký tự trong chuỗi.
  4. Chuyển định dạng dữ liệu: Dùng hàm parsetInt, parsetFloat để chuyển sang dạng số nếu cần…Dùng hàm Math.round[] hoặc hàm toFixed[] để làm tròn.
  5. Kích hoạt control chứa dữ liệu sai: Dùng hàm focus[] để active 1 controll nếu cần
  6. Định dạng lại: dùng thuộc tính className hoặc đối tượng style để định dạng cho các control mà user đã nhập sai.

Mời em xem thêm các bài viết sau: Ứng dụng javascript kiểm tra dữ liệu trong form

Chủ Đề