前言

由于从Java转全栈,对于前端的相关知识目前 以点科普面,此处的总结
重置前端表单内容,防止影响后续操作

其基本知识只需要通过点击按钮触发重置表单

1. 纯重置

可以通过按钮,直接清空输出值,这种比较简易

直接操作表单字段,将它们的值设为空字符串,达到重置表单的目的
(如果是原生的HTML也可使用reset,如果是 Vue 的 UI 组件库需要看Demo2)

<template>
  <div>
    <form ref="myForm">
      <label for="name">Name:</label>
      <input type="text" id="name" v-model="form.name">
      <br>
      <label for="email">Email:</label>
      <input type="email" id="email" v-model="form.email">
      <br>
      <button @click="resetForm">Reset Form</button>
    </form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      form: {
        name: '',
        email: ''
      }
    };
  },
  methods: {
    resetForm() {
      this.form.name = '';
      this.form.email = '';
      // 如果是多选的选项,需要以 [] 
      // this.form.email = '';
    }
  }
};
</script>

2. reset重置

引入 jQuery 库,并给重置按钮绑定了点击事件

点击按钮时,调用了 jQuery 对象的 reset() 方法来重置表单
为了访问原生的 HTMLFormElement 对象,使用了 [0] 来获取索引为 0 的元素,这样可以确保调用的是原生 DOM 的 reset() 方法

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>jQuery Reset Form Demo</title>
  <!-- 引入 jQuery 库 -->
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
  <form id="myForm">
    <label for="name">Name:</label>
    <input type="text" id="name" name="name">
    <br>
    <label for="email">Email:</label>
    <input type="email" id="email" name="email">
    <br>
    <button type="button" id="resetButton">重置表单</button>
  </form>

  <script>
    $(document).ready(function() {
      // 给重置按钮绑定点击事件
      $('#resetButton').click(function() {
        // 使用 jQuery 来重置表单
        $('#myForm')[0].reset(); // 注意:通过索引 [0] 获取原生 DOM 元素
      });
    });
  </script>
</body>
</html>

3. resetFields重置

基于 Vue 的 UI 组件库,通常需要使用组件库提供的方法来重置表单,比如 Element UI 的 resetFields() 方法

<template>
  <div>
    <el-form ref="myForm" :model="form" label-width="80px">
      <el-form-item label="姓名" prop="name">
        <el-input v-model="form.name"></el-input>
      </el-form-item>
      <el-form-item label="邮箱" prop="email">
        <el-input v-model="form.email"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="resetForm">重置表单</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      form: {
        name: '',
        email: ''
      }
    };
  },
  methods: {
    resetForm() {
      // 使用 resetFields 方法重置表单
      this.$refs.myForm.resetFields();
    }
  }
};
</script>

4. 彩蛋

在实战中的运用截图如下:

重置按钮:
前端重置表单的多个Demo-LMLPHP

重置的具体功能:(如果是多选,重置的数据必须为空数组[]

前端重置表单的多个Demo-LMLPHP

04-13 09:36