GIỚI THIỆU
CĂN BẢN
NÂNG CAO
VUEJS 2X CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Two-way binding và Form Submission trong VueJS 2

Khi phát triển các ứng dụng web phức tạp, việc xử lý form và submission là một phần quan trọng. Trong bài tập nâng cao này, mình sẽ kết hợp Two-way binding với Form Submission trong VueJS 2 để tạo ra một trải nghiệm tương tác và hiệu quả hơn khi người dùng điền thông tin vào một form.

Two-way Binding và Form Submission trong VueJS 2

Mình sẽ sử dụng directive v-model để liên kết dữ liệu của form với các biến trong Vue instance và sử dụng sự kiện @submit để xử lý việc submit và gửi dữ liệu.

File index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue Two-way Binding và Form Submission</title>

    <!-- Thêm đoạn CSS -->
    <style>
        body {
            font-family: 'Arial', sans-serif;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100vh;
            margin: 0;
            background-color: #f4f4f4;
        }

        #app {
            text-align: center;
            background-color: #fff;
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }

        input {
            width: 200px;
            padding: 10px;
            margin-bottom: 10px;
            border: 1px solid #ccc;
            border-radius: 3px;
        }

        button {
            padding: 10px 20px;
            background-color: #4caf50;
            color: #fff;
            border: none;
            border-radius: 3px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div id="app">
        <h1>Two-way Binding và Form Submission trong VueJS 2 (Nâng Cao)</h1>
        <form @submit.prevent="submitForm">
            <label for="name">Tên:</label>
            <input type="text" id="name" v-model="formData.name" required>
            <br>
            <label for="email">Email:</label>
            <input type="email" id="email" v-model="formData.email" required>
            <br>
            <button type="submit">Submit</button>
        </form>
        <p>Thông tin được submit: {{ submittedData }}</p>
    </div>

    <!-- VueJS -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
    <!-- Main JavaScript file -->
    <script src="main.js"></script>
</body>
</html>

Giải thích:

  • Một form đơn giản với hai trường input cho Tên (name) và Email (email).
  • Sử dụng v-model để liên kết giá trị của input với các biến tương ứng trong formData trong Vue instance.
  • Sự kiện được sử dụng để ngăn chặn hành động mặc định của form và thay thế nó bằng phương thức submitForm.
  • Một đoạn mã HTML để hiển thị thông tin đã được submit, được bind với biến submittedData trong Vue instance.

File main.js:

// Tạo một Vue instance
var app = new Vue({
    el: '#app',
    data: {
        formData: {
            name: '',
            email: ''
        },
        submittedData: ''
    },
    methods: {
        submitForm: function() {
            // Phương thức này sẽ được gọi khi form được submit
            // Xử lý dữ liệu và hiển thị thông báo
            this.submittedData = `Tên: ${this.formData.name}, Email: ${this.formData.email}`;
        }
    }
});

Giải thích:

Vue Instance:

  • Tạo một Vue instance và liên kết nó với phần tử có id là app trong HTML.

Data:

  • formData: Một đối tượng chứa các thuộc tính name và email để lưu trữ giá trị của các trường input.
  • submittedData: Một biến để lưu trữ thông tin đã được submit.

Methods:

  • submitForm: Phương thức được gọi khi form được submit.
  • Gán giá trị của formData.nameformData.email vào submittedData để hiển thị thông tin đã được submit.

z5076737280957 eec0b54d7d1834c5206545fb87d5dd41 jpg

Bài tập Two-way Binding và Form Submission trong VueJS 2 đã mở ra khả năng tạo ra các form tương tác và hiệu quả. VueJS không chỉ giúp quản lý trạng thái ứng dụng một cách thuận lợi mà còn là một công cụ mạnh mẽ trong việc xử lý form và gửi dữ liệu. Áp dụng những kiến thức này vào các dự án của bạn để tạo ra trải nghiệm người dùng đáng nhớ và chất lượng.

test php

Bài giải

-------------------- ######## --------------------

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Bài tập VueJS 2: Sử dụng Axios hoặc Fetch API trong VueJS 2

Bài tập VueJS 2: Sử dụng Axios hoặc Fetch API trong VueJS 2

Bài tập VueJS 2: Xử lý sự kiện trong VueJS 2

Bài tập VueJS 2: Xử lý sự kiện trong VueJS 2

Bài tập VueJS 2: Components trong VueJS 2

Bài tập VueJS 2: Components trong VueJS 2

Bài tập VueJS 2: Binding dữ liệu trong VueJS 2

Bài tập VueJS 2: Binding dữ liệu trong VueJS 2

Sử dụng directives (v-bind, v-model) để hiển thị và cập nhật dữ liệu bằng VueJS 2

Sử dụng directives (v-bind, v-model) để hiển thị và cập nhật dữ liệu bằng VueJS 2

Tạo nút và xử lý sự kiện khi nút được nhấn trong VueJS 2

Tạo nút và xử lý sự kiện khi nút được nhấn trong VueJS 2

VueJS 2 Components: Tạo và quản lý ToDo List đơn giản

VueJS 2 Components: Tạo và quản lý ToDo List đơn giản

Các quy tắc trong VueJS 2

Các quy tắc trong VueJS 2

Tạo component và binding data trong VueJS 2

Tạo component và binding data trong VueJS 2

Tìm hiểu Scoped CSS trong VueJS 2

Tìm hiểu Scoped CSS trong VueJS 2

Sử dụng forceUpdate trong VueJS 2

Sử dụng forceUpdate trong VueJS 2

Sử dụng v-for trong VueJS 2

Sử dụng v-for trong VueJS 2

10 best practices trong VueJS 2

10 best practices trong VueJS 2

Các tạo Custom Directives trong VueJS 2

Các tạo Custom Directives trong VueJS 2

Sử dụng V-for và V-if trong VueJs 2

Sử dụng V-for và V-if trong VueJs 2

Sử dụng methods trong VueJS 2

Sử dụng methods trong VueJS 2

Khác nhau giữa slot và scoped slots trong VueJS 2

Khác nhau giữa slot và scoped slots trong VueJS 2

Tìm hiểu Slots trong VueJS 2

Tìm hiểu Slots trong VueJS 2

Xử lý Custom Events trong VueJS 2

Xử lý Custom Events trong VueJS 2

Ref và Reactive trong VueJS 2

Ref và Reactive trong VueJS 2

Top