Hướng dẫn submit form javascript onclick

The best way

The best way is to insert an appropriate input tag:


The best JS way

var form = document.getElementById("form-id");

document.getElementById("your-id").addEventListener("click", function () {
  form.submit();
});

Enclose the latter JavaScript code by an DOMContentLoaded event (choose only load for backward compatiblity) if you haven't already done so:

window.addEventListener("DOMContentLoaded", function () {
  var form = document.... // copy the last code block!
});

The easy, not recommandable way (the former answer)

Add an onclick attribute to the link and an id to the form:

submit

All ways

Whatever way you choose, you have call formObject.submit() eventually (where formObject is the DOM object of the

tag).

You also have to bind such an event handler, which calls formObject.submit(), so it gets called when the user clicked a specific link or button. There are two ways:

  • Recommended: Bind an event listener to the DOM object.

    // 1. Acquire a reference to our .
    //    This can also be done by setting :
    //       var form = document.forms.blub;
    
    var form = document.getElementById("form-id");
    
    
    // 2. Get a reference to our preferred element (link/button, see below) and
    //    add an event listener for the "click" event.
    document.getElementById("your-id").addEventListener("click", function () {
      form.submit();
    });
    
  • Not recommended: Insert inline JavaScript. There are several reasons why this technique is not recommendable. One major argument is that you mix markup (HTML) with scripts (JS). The code becomes unorganized and rather unmaintainable.

    submit
    
    
    

Now, we come to the point at which you have to decide for the UI element which triggers the submit() call.

  1. A button

    
    
  2. A link

    submit
    

Apply the aforementioned techniques in order to add an event listener.

Trong bài này mình sẽ giới thiệu đến các bạn sự kiện submit form trong Javascript, đây là sự kiện giúp bạn kiểm soát được hành động submit form của người dùng khi họ click vào button submit.

Hướng dẫn submit form javascript onclick

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

Khi gửi dữ liệu lên server thì thường ta phải kiểm tra định dạng dữ liệu mà người dùng nhập vào có phù hợp hay không, điều này giúp giảm tải ở phía server trong một số trường hợp.

Ví dụ bạn tạo một form login, nếu bạn không dùng Javascript để yêu cầu người dùng nhập đủ thông tin tên đăng nhập và mật khẩu thì rất dễ bị họ submit liên tục, điều này tạo ra một sức ép về phía server. Đương nhiên phía server phải rtải qua một bước validate data nữa rồi mới cập nhật vào cơ sở dữ liệu.

1. Khai báo sự kiện submit bằng thẻ HTML form

Thẻ HTML form có sự kiện onsubmit, đây chính là nơi mà bạn gọi đến hàm xử lý trước khi hành động submit xảy ra.

Bài viết này được đăng tại [free tuts .net]



Lưu ý rằng hàm validate phải trả về kiểu boolean nhé:

  • Trả về true thì cho phép submit form
  • Trả về false thì không submit form

Bạn hãy thử tạo một input submit bên trong thẻ form, sau đó thiết lập code ở onsubmit return false thì khi bạn click vào button submit đó sẽ không có hiệu ứng gì.

Nhưng khi bạn đổi sang return true thì sẽ có hiệu ứng ngay.

Tóm lại: Nội dung bên trong hàm validate không quan trọng, mà sự kiện này chỉ quan tâm đến giá trị return true / false của dòng return nằm bên trong sự kiện mà thôi.

2. Gọi đến một hàm Javascript khi submit

Có ba cách để gọi đến một hàm Javascript khi submit form như sau.

Cách 1: Sử dụng HTML như ở phần 1.

Cách 2: Sử dụng phương thức addEventListener().

formObj.addEventListener("submit", functionName);

Cách 3: Sử dụng thuộc tính onsubmit của đối tượng form.

formObj.onsubmit = function(){functionName};

Khi sử dụng thuộc tính này thì nó sẽ thay thế đoạn code bên trong thuộc tính onsubmit của thẻ form, vì vậy những đoạn mã JS nằm bên trong thẻ form đó sẽ bị thay thể bởi function mà bạn đã gán.

Ví dụ: Mình sử dụng cách hai nhé.


    

3. Dùng Javascript để submit form

Ngoài cách sử dụng một thẻ input submit thì bạn cũng có thể sử dụng Javascript để thực hiện một hành động submit form.

Giả sử mình có thẻ input button như sau:

Nếu click vào button này thì sẽ không xảy ra sự kiện submit form, bởi đây là một button chứ khong phải button submit.

Bây giờ ta sẽ bổ đoạn code khi click vào button đó thì gọi đến phương thức submit() của form để kích hoạt sự kiện.

Bạn hãy thử click vào button thì sẽ thấy xảy ra sự kiện submit form.

Như vậy là mình đã hướng dẫn xong cách sử dụng Javascript để submit form, cũng như các thao tác thường gặp khi làm việc với form trong Javascript.