Làm cách nào để gọi một hàm JavaScript trong hành động biểu mẫu?

Nhà phát triển web thường sẽ sử dụng hàm JavaScript để gửi biểu mẫu JavaScript khi họ muốn thay đổi loại nội dung thành JSON để gửi phía máy chủ thông qua yêu cầu HTTP

Làm cách nào để gọi một hàm JavaScript trong hành động biểu mẫu?

Mục lục

Giới thiệu

Từ khi một người ở đất nước này trở thành một thanh niên, anh ta sẽ thường thấy mình trong tình huống điền vào biểu mẫu HTML. Nó có thể là một cái gì đó đơn giản và trần tục như đăng ký để sử dụng ứng dụng truyền thông xã hội yêu thích của anh ấy hoặc cô ấy

Như đã nói, có nhiều trường hợp sử dụng trong Phát triển web trong đó Ứng dụng web sẽ phải xử lý hành vi gửi biểu mẫu và có một số cách để gửi biểu mẫu. Có thể xử lý việc gửi biểu mẫu bằng thuộc tính hành động của

phần tử hoặc nhà phát triển có thể chọn sử dụng chức năng javascript thay thế. Tất nhiên, một nhà phát triển cũng có thể làm cả hai

Để sử dụng thuộc tính hành động của thành phần biểu mẫu, biểu mẫu sẽ giống như sau

Trong ví dụ trên, loại nội dung là application/x-www-form-urlencoded. Loại nội dung này thường được xử lý bởi tệp PHP. URL của tệp PHP này sẽ là giá trị của thuộc tính hành động

Mặt khác, nhà phát triển web thường sẽ sử dụng hàm JavaScript khi họ muốn thay đổi loại nội dung thành JSON để gửi phía máy chủ thông qua yêu cầu HTTP. Hàm javascript này có thể được gọi từ các thuộc tính cụ thể trên hoặc trong biểu mẫu hoặc sự kiện gửi có thể được sử dụng làm tham số trong phương thức addEventListener. Chúng tôi thường gọi hàm JavaScript này là trình xử lý sự kiện. Trình xử lý sự kiện lấy một đối tượng sự kiện làm một trong các tham số của nó

Hãy nhìn vào một số mã

Một ví dụ khá đơn giản về biểu mẫu HTML sẽ như sau


   

Subscribe

Ở trên, là mã HTML của một hình thức đăng ký phổ biến. Trong số những thứ khác, biểu mẫu HTML này chứa hai phần tử đại diện cho các trường văn bản. Một phần tử chụp tên của người dùng và phần còn lại chụp email của người dùng. Và có nút gửi để xử lý dữ liệu sau khi người dùng nhập xong vào biểu mẫu

Nhà phát triển cũng có thể sử dụng một thay vì phần tử. Phần tử nút thường được sử dụng khi nhà phát triển dự định tạo kiểu bổ sung cho nút

Một ví dụ về trình xử lý sự kiện xử lý sự kiện gửi của biểu mẫu HTML ở trên sẽ như sau


Người giới thiệu

1. “Hình thức – Phản ứng. ” Phản ứng, https. //reacjs. org/tài liệu/biểu mẫu. html. Truy cập ngày 21 tháng 8 năm 2022

2. “sự kiện onsubmit. ” W3Schools, https. //www. w3schools. com/jsref/event_onsubmit. asp. Truy cập ngày 21 tháng 8 năm 2022

3. “HTMLFormElement. gửi sự kiện - API Web. MDN. ” MDN Web Docs, ngày 9 tháng 7 năm 2022, https. // nhà phát triển. mozilla. org/en-US/docs/Web/API/HTMLFormElement/submit\_event. Truy cập ngày 21 tháng 8 năm 2022

4. “Gửi biểu mẫu dữ liệu - Tìm hiểu phát triển web. MDN. ” MDN Web Docs, ngày 15 tháng 8 năm 2022, https. // nhà phát triển. mozilla. org/en-US/docs/Learn/Forms/Sending\_ and\_ retrieving\form\data. Truy cập ngày 21 tháng 8 năm 2022

Bản tóm tắt. trong hướng dẫn này, bạn sẽ tìm hiểu về JavaScript form API. truy cập biểu mẫu, nhận giá trị của các phần tử, xác thực dữ liệu biểu mẫu và gửi biểu mẫu

Khái niệm cơ bản về biểu mẫu

Để tạo biểu mẫu trong HTML, bạn sử dụng phần tử

document.forms

Code language: JavaScript (javascript)
9

<form action="/signup" method="post" id="signup"> form>

Code language: HTML, XML (xml)

Phần tử

document.forms

Code language: JavaScript (javascript)
9 có hai thuộc tính quan trọng.

document.forms[0]

Code language: CSS (css)
1 và

document.forms[0]

Code language: CSS (css)
2

  • Thuộc tính

    document.forms[0]

    Code language: CSS (css)
    1 chỉ định một URL sẽ xử lý việc gửi biểu mẫu. Trong ví dụ này, hành động là URL

    document.forms[0]

    Code language: CSS (css)
    4
  • Thuộc tính

    document.forms[0]

    Code language: CSS (css)
    2 chỉ định phương thức HTTP để gửi biểu mẫu với. Thông thường, phương pháp này là

    document.forms[0]

    Code language: CSS (css)
    6 hoặc

    document.forms[0]

    Code language: CSS (css)
    7

Nói chung, bạn sử dụng phương pháp

document.forms[0]

Code language: CSS (css)
7 khi bạn muốn truy xuất dữ liệu từ máy chủ và phương pháp

document.forms[0]

Code language: CSS (css)
6 khi bạn muốn thay đổi dữ liệu trên máy chủ

JavaScript sử dụng đối tượng

<input type="submit" value="Subscribe">

Code language: HTML, XML (xml)
0 để biểu diễn một biểu mẫu.

<input type="submit" value="Subscribe">

Code language: HTML, XML (xml)
0 có các thuộc tính sau tương ứng với các thuộc tính HTML

  • document.forms[0]

    Code language: CSS (css)
    1 – là URL xử lý dữ liệu biểu mẫu. Nó tương đương với thuộc tính

    document.forms[0]

    Code language: CSS (css)
    1 của phần tử

    document.forms

    Code language: JavaScript (javascript)
    9
  • document.forms[0]

    Code language: CSS (css)
    2 – là phương thức HTTP tương đương với thuộc tính

    document.forms[0]

    Code language: CSS (css)
    2 của phần tử

    document.forms

    Code language: JavaScript (javascript)
    9

Phần tử

<input type="submit" value="Subscribe">

Code language: HTML, XML (xml)
0 cũng cung cấp các phương thức hữu ích sau

  • <input type="submit" value="Subscribe">

    Code language: HTML, XML (xml)
    9 – gửi biểu mẫu
  • <button type="submit">Subscribebutton>

    Code language: HTML, XML (xml)
    0 – đặt lại biểu mẫu

biểu mẫu tham khảo

Để tham chiếu phần tử

document.forms

Code language: JavaScript (javascript)
9, bạn có thể sử dụng các phương thức chọn DOM như

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
2

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)

Một tài liệu HTML có thể có nhiều biểu mẫu. Thuộc tính

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
3 trả về một tập hợp các biểu mẫu (

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
4) trên tài liệu

document.forms

Code language: JavaScript (javascript)

Để tham khảo một biểu mẫu, bạn sử dụng một chỉ mục. Ví dụ: câu lệnh sau trả về dạng đầu tiên của tài liệu HTML

document.forms[0]

Code language: CSS (css)

Gửi biểu mẫu

Thông thường, một biểu mẫu có một nút gửi. Khi bạn nhấp vào nó, trình duyệt sẽ gửi dữ liệu biểu mẫu đến máy chủ. Để tạo nút gửi, bạn sử dụng phần tử

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
5 hoặc

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
6 với loại

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
7

<input type="submit" value="Subscribe">

Code language: HTML, XML (xml)

Hoặc

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)

Nếu nút gửi có tiêu điểm và bạn nhấn phím

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
8, thì trình duyệt cũng gửi dữ liệu biểu mẫu

Khi bạn gửi biểu mẫu, sự kiện

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
7 sẽ được kích hoạt trước khi yêu cầu được gửi đến máy chủ. Điều này cho bạn cơ hội xác thực dữ liệu biểu mẫu. Nếu dữ liệu biểu mẫu không hợp lệ, bạn có thể ngừng gửi biểu mẫu

Để đính kèm một trình lắng nghe sự kiện vào sự kiện

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
7, bạn sử dụng phương thức

const form = document.getElementById('signup'); form.addEventListener('submit', (event) => { // handle the form data });

Code language: JavaScript (javascript)
1 của thành phần biểu mẫu như sau

const form = document.getElementById('signup'); form.addEventListener('submit', (event) => { // handle the form data });

Code language: JavaScript (javascript)

Để dừng gửi biểu mẫu, bạn gọi phương thức

const form = document.getElementById('signup'); form.addEventListener('submit', (event) => { // handle the form data });

Code language: JavaScript (javascript)
2 của đối tượng

const form = document.getElementById('signup'); form.addEventListener('submit', (event) => { // handle the form data });

Code language: JavaScript (javascript)
3 bên trong trình xử lý sự kiện

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
7 như thế này

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)

Thông thường, bạn gọi phương thức

const form = document.getElementById('signup'); form.addEventListener('submit', (event) => { // handle the form data });

Code language: JavaScript (javascript)
5 nếu dữ liệu biểu mẫu không hợp lệ. Để gửi biểu mẫu trong JavaScript, bạn gọi phương thức

<input type="submit" value="Subscribe">

Code language: HTML, XML (xml)
9 của đối tượng biểu mẫu

form.submit();

Code language: CSS (css)

Lưu ý rằng

const form = document.getElementById('signup'); form.addEventListener('submit', (event) => { // handle the form data });

Code language: JavaScript (javascript)
7 không kích hoạt sự kiện

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
7. Do đó, bạn phải luôn xác thực biểu mẫu trước khi gọi phương thức này

Truy cập các trường biểu mẫu

Để truy cập các trường biểu mẫu, bạn có thể sử dụng các phương thức DOM như

const form = document.getElementById('signup'); form.addEventListener('submit', (event) => { // handle the form data });

Code language: JavaScript (javascript)
9,

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
2,

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)
1, v.v.

Ngoài ra, bạn có thể sử dụng thuộc tính

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)
2 của đối tượng

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)
3. Thuộc tính

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)
4 lưu trữ một tập hợp các phần tử biểu mẫu

JavaScript cho phép bạn truy cập một phần tử theo chỉ mục, id hoặc tên. Giả sử rằng bạn có biểu mẫu đăng ký sau với hai phần tử

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
5

<form action="signup.html" method="post" id="signup"> <h1>Sign Uph1> <div class="field"> <label for="name">Name:label> <input type="text" id="name" name="name" placeholder="Enter your fullname" /> <small>small> div> <div class="field"> <label for="email">Email:label> <input type="text" id="email" name="email" placeholder="Enter your email address" /> <small>small> div> <button type="submit">Subscribebutton> form>

Code language: HTML, XML (xml)

Để truy cập các phần tử của biểu mẫu, trước tiên bạn lấy phần tử biểu mẫu

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
0

Và sử dụng chỉ mục, id hoặc tên để truy cập phần tử. Phần sau truy cập phần tử biểu mẫu đầu tiên

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
1

Phần sau truy cập phần tử đầu vào thứ hai

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
2

Sau khi truy cập một trường biểu mẫu, bạn có thể sử dụng thuộc tính

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)
6 để truy cập giá trị của nó, chẳng hạn

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
3

Đặt nó tất cả cùng nhau. hình thức đăng ký

Sau đây minh họa tài liệu HTML có biểu mẫu đăng ký. Xem demo trực tiếp tại đây

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
4

Tài liệu HTML tham khảo các tệp

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)
7 và

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)
8. Nó sử dụng phần tử

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)
9 để hiển thị thông báo lỗi trong trường hợp phần tử

<button type="submit">Subscribebutton>

Code language: HTML, XML (xml)
5 có dữ liệu không hợp lệ

Gửi biểu mẫu mà không cung cấp bất kỳ thông tin nào sẽ dẫn đến lỗi sau

Làm cách nào để gọi một hàm JavaScript trong hành động biểu mẫu?
Làm cách nào để gọi một hàm JavaScript trong hành động biểu mẫu?

Gửi biểu mẫu có tên nhưng định dạng địa chỉ email không hợp lệ sẽ dẫn đến lỗi sau

Làm cách nào để gọi một hàm JavaScript trong hành động biểu mẫu?
Làm cách nào để gọi một hàm JavaScript trong hành động biểu mẫu?

Phần sau hiển thị tệp

form.submit();

Code language: CSS (css)
1 hoàn chỉnh

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
5

Làm thế nào nó hoạt động

Hàm showMessage()

Hàm

form.submit();

Code language: CSS (css)
2 chấp nhận một phần tử đầu vào, một thông báo và một loại

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
6

Sau đây hiển thị trường nhập tên trên biểu mẫu

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
7

Nếu giá trị của tên trống, trước tiên bạn cần lấy cha của nó là

form.submit();

Code language: CSS (css)
3 với lớp “trường”

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
8

Tiếp theo, bạn cần chọn phần tử

form.addEventListener('submit', (event) => { // stop form submission event.preventDefault(); });

Code language: PHP (php)
9

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
9

Sau đó, cập nhật tin nhắn

document.forms

Code language: JavaScript (javascript)
0

Sau đó, chúng tôi thay đổi lớp CSS của trường đầu vào dựa trên giá trị của tham số loại. Nếu loại là đúng, chúng tôi thay đổi lớp của đầu vào thành công. Nếu không, chúng tôi thay đổi lớp thành lỗi

document.forms

Code language: JavaScript (javascript)
1

Cuối cùng, trả về giá trị của loại

document.forms

Code language: JavaScript (javascript)
2

Hàm showError() và showSuccess()

Hàm

form.submit();

Code language: CSS (css)
5 và

form.submit();

Code language: CSS (css)
6 gọi hàm

form.submit();

Code language: CSS (css)
2. Hàm

form.submit();

Code language: CSS (css)
5 luôn trả về

form.submit();

Code language: CSS (css)
9 trong khi hàm

form.submit();

Code language: CSS (css)
6 luôn trả về

<form action="signup.html" method="post" id="signup"> <h1>Sign Uph1> <div class="field"> <label for="name">Name:label> <input type="text" id="name" name="name" placeholder="Enter your fullname" /> <small>small> div> <div class="field"> <label for="email">Email:label> <input type="text" id="email" name="email" placeholder="Enter your email address" /> <small>small> div> <button type="submit">Subscribebutton> form>

Code language: HTML, XML (xml)
1. Ngoài ra, hàm

form.submit();

Code language: CSS (css)
6 đặt thông báo lỗi thành một chuỗi trống

document.forms

Code language: JavaScript (javascript)
3

Hàm hasValue()

Hàm

<form action="signup.html" method="post" id="signup"> <h1>Sign Uph1> <div class="field"> <label for="name">Name:label> <input type="text" id="name" name="name" placeholder="Enter your fullname" /> <small>small> div> <div class="field"> <label for="email">Email:label> <input type="text" id="email" name="email" placeholder="Enter your email address" /> <small>small> div> <button type="submit">Subscribebutton> form>

Code language: HTML, XML (xml)
3 kiểm tra xem phần tử đầu vào có giá trị hay không và hiển thị thông báo lỗi bằng cách sử dụng hàm

form.submit();

Code language: CSS (css)
5 hoặc

form.submit();

Code language: CSS (css)
6 tương ứng

document.forms

Code language: JavaScript (javascript)
4

Hàm xác thựcEmail()

Hàm

<form action="signup.html" method="post" id="signup"> <h1>Sign Uph1> <div class="field"> <label for="name">Name:label> <input type="text" id="name" name="name" placeholder="Enter your fullname" /> <small>small> div> <div class="field"> <label for="email">Email:label> <input type="text" id="email" name="email" placeholder="Enter your email address" /> <small>small> div> <button type="submit">Subscribebutton> form>

Code language: HTML, XML (xml)
6 xác thực nếu trường email chứa địa chỉ email hợp lệ

document.forms

Code language: JavaScript (javascript)
5

Hàm

<form action="signup.html" method="post" id="signup"> <h1>Sign Uph1> <div class="field"> <label for="name">Name:label> <input type="text" id="name" name="name" placeholder="Enter your fullname" /> <small>small> div> <div class="field"> <label for="email">Email:label> <input type="text" id="email" name="email" placeholder="Enter your email address" /> <small>small> div> <button type="submit">Subscribebutton> form>

Code language: HTML, XML (xml)
6 gọi hàm

<form action="signup.html" method="post" id="signup"> <h1>Sign Uph1> <div class="field"> <label for="name">Name:label> <input type="text" id="name" name="name" placeholder="Enter your fullname" /> <small>small> div> <div class="field"> <label for="email">Email:label> <input type="text" id="email" name="email" placeholder="Enter your email address" /> <small>small> div> <button type="submit">Subscribebutton> form>

Code language: HTML, XML (xml)
3 để kiểm tra xem giá trị trường có trống không. Nếu trường đầu vào trống, nó sẽ hiển thị

<form action="signup.html" method="post" id="signup"> <h1>Sign Uph1> <div class="field"> <label for="name">Name:label> <input type="text" id="name" name="name" placeholder="Enter your fullname" /> <small>small> div> <div class="field"> <label for="email">Email:label> <input type="text" id="email" name="email" placeholder="Enter your email address" /> <small>small> div> <button type="submit">Subscribebutton> form>

Code language: HTML, XML (xml)
9

Để xác thực email, nó sử dụng biểu thức chính quy. Nếu email không hợp lệ, hàm

<form action="signup.html" method="post" id="signup"> <h1>Sign Uph1> <div class="field"> <label for="name">Name:label> <input type="text" id="name" name="name" placeholder="Enter your fullname" /> <small>small> div> <div class="field"> <label for="email">Email:label> <input type="text" id="email" name="email" placeholder="Enter your email address" /> <small>small> div> <button type="submit">Subscribebutton> form>

Code language: HTML, XML (xml)
6 sẽ hiển thị

const form = document.getElementById('subscribe');

Code language: JavaScript (javascript)
01

Chúng ta có thể gọi hàm JavaScript trong hành động biểu mẫu không?

Bây giờ, bất cứ khi nào người dùng nhấp vào nút gửi, hàm JavaScript sẽ được gọi. Bạn có thể gọi bất kỳ hàm JavaScript nào bằng cách sử dụng phương thức này . sự kiện onsubmit là sự kiện xảy ra khi nhấp vào nút gửi.

Làm cách nào để gọi hàm JavaScript từ hành động biểu mẫu html?

Vì vậy, chúng ta có thể gọi hàm của JavaScript bằng tên của nó trong thẻ đầu vào của thẻ biểu mẫu. .
.

Làm cách nào để gọi một hàm JavaScript?

Có một vài cách khác nhau để gọi một hàm trong JavaScript. Cách phổ biến nhất đơn giản là sử dụng tên hàm theo sau là dấu ngoặc đơn . Nếu bạn có một hàm được lưu trữ trong một biến, bạn có thể gọi nó bằng cách sử dụng tên biến theo sau dấu ngoặc đơn.

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

Ở đây chúng tôi đã liên kết tệp JavaScript có tên là “jsFile. js” với tệp HTML bằng cách sử dụng từ khóa “src” trong các thẻ tập lệnh. Làm điều này sẽ cho phép chức năng “onclick” bên dưới truy cập chức năng từ tệp JS