原生js实现获取form表单数据代码实例

获取 form 表单数据是 Web 开发中常见的需求,可以使用 JavaScript 代码来实现这一功能。本文将介绍如何使用原生 JavaScript 获取表单数据。

获取表单元素

要获取表单数据,首先需要获取表单元素。可以使用以下代码来获取表单元素:

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

上述代码获取了表单元素的 DOM 对象,其中 form 为表单元素的 ID。如果需要获取表单中的某个特定元素,可以使用以下代码:

const inputElement = document.getElementById('input');

上述代码获取了表单中 ID 为 input 的表单元素。

获取表单数据

获取表单数据的一种方法是使用 FormData 对象。可以使用以下代码来获取表单的 FormData 对象:

const formData = new FormData(formElement);

上述代码使用表单元素的 DOM 对象创建一个 FormData 对象。FormData 对象存储了表单中所有元素的数据。

要访问表单元素的数据,可以使用以下代码:

const value = formData.get('elementName');

上述代码获取了表单元素 elementName 的值。

以下是一个完整的例子,演示如何使用以上方法获取表单元素和表单数据:

<form id="form">
  <label for="name">Name:</label>
  <input type="text" name="name" id="name"><br>

  <label for="email">Email:</label>
  <input type="email" name="email" id="email"><br>

  <label for="message">Message:</label>
  <textarea name="message" id="message"></textarea><br>

  <button type="submit">Submit</button>
</form>

<script>
  const formElement = document.getElementById('form');

  formElement.addEventListener('submit', (event) => {
    event.preventDefault(); // 阻止表单提交

    const formData = new FormData(formElement);

    // 获取表单数据
    const nameValue = formData.get('name');
    const emailValue = formData.get('email');
    const messageValue = formData.get('message');

    // 打印表单数据
    console.log('Name:', nameValue);
    console.log('Email:', emailValue);
    console.log('Message:', messageValue);

    // 处理表单数据
    // ...
  });
</script>

以上代码演示了如何使用 FormData 对象来获取表单数据。

另一个获取表单数据的方法是手动遍历表单元素。可以使用以下代码来遍历表单元素并获取其数据:

const inputs = formElement.querySelectorAll('input, textarea');

const data = {};
for (let i = 0; i < inputs.length; i++) {
  const input = inputs[i];
  data[input.name] = input.value;
}

以上代码中,data 对象存储了表单元素的数据。可以使用以下代码来访问表单元素的数据:

const value = data['elementName'];

以下是一个完整的例子,演示如何使用遍历表单元素的方法获取表单数据:

<form id="form">
  <label for="name">Name:</label>
  <input type="text" name="name" id="name"><br>

  <label for="email">Email:</label>
  <input type="email" name="email" id="email"><br>

  <label for="message">Message:</label>
  <textarea name="message" id="message"></textarea><br>

  <button type="submit">Submit</button>
</form>

<script>
  const formElement = document.getElementById('form');

  formElement.addEventListener('submit', (event) => {
    event.preventDefault(); // 阻止表单提交

    const inputs = formElement.querySelectorAll('input, textarea');

    const data = {};
    for (let i = 0; i < inputs.length; i++) {
      const input = inputs[i];
      data[input.name] = input.value;
    }

    // 获取表单数据
    const nameValue = data['name'];
    const emailValue = data['email'];
    const messageValue = data['message'];

    // 打印表单数据
    console.log('Name:', nameValue);
    console.log('Email:', emailValue);
    console.log('Message:', messageValue);

    // 处理表单数据
    // ...
  });
</script>

以上代码演示了如何使用遍历表单元素的方法来获取表单数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:原生js实现获取form表单数据代码实例 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 浅谈javascript六种数据类型以及特殊注意点

    浅谈javascript六种数据类型以及特殊注意点 Javascript是一种弱类型的编程语言,它的数据类型主要包括六种:number、string、boolean、null、undefined以及object。在本文中,我们将介绍这些数据类型及其用法,并提出一些特殊的注意点,希望对您有所帮助。 Number Number数据类型主要表示数字,它可以用整数或…

    JavaScript 2023年5月28日
    00
  • JSON中key动态设置及JSON.parse和JSON.stringify()的区别

    JSON中key动态设置指的是在JavaScript中向JSON对象动态添加属性名(key),这样的JSON对象在另一个需要使用这些属性的函数或者方法中外部作用域仍然可以进行访问。但在正常情况下,我们无法使用字符串拼接的方式来动态设置JSON中的key,这时候就需要借助ES6中的计算属性名(Computed Property Names)来实现。 计算属性名…

    JavaScript 2023年5月27日
    00
  • 一文了解你不知道的JavaScript闭包篇

    一文了解你不知道的JavaScript闭包篇是一篇非常详细的关于JavaScript闭包的介绍和讲解,下面我将为您详细解读。 什么是闭包? 在JavaScript中,闭包(Closure)指的是函数和该函数能够访问到的外部词法环境(Lexical Environment)的组合。通俗地说,闭包是指在函数内部能够访问到函数外部的变量的函数。 闭包的作用 闭包的…

    JavaScript 2023年6月10日
    00
  • javascript asp教程第十一课–Application 对象

    JavaScript ASP 教程第十一课 — Application 对象 什么是 Application 对象 ASP 的 Application 对象是服务器端的全局对象,用于存储应用程序全局数据并使多个用户共享这些数据。Application 可以在 ASP 应用程序的任何页面中访问,因此非常有用。 如何使用 Application 对象 设置 A…

    JavaScript 2023年5月27日
    00
  • 两行代码轻松搞定JavaScript日期验证

    以下是详细讲解“两行代码轻松搞定JavaScript日期验证”的完整攻略。 目标 我们的目标是通过JavaScript代码验证用户输入的日期是否符合指定的格式要求。 准备工作 在代码前,我们需要明确一下本次日期验证的需求,即用户输入的日期格式是什么样子的。以“YYYY/MM/DD”的格式为例,此时用户输入的日期应该满足以下要求: 年份必须为4位数,如2021…

    JavaScript 2023年5月27日
    00
  • Vue实现调用PC端摄像头实时拍照

    下面我来详细讲解一下Vue实现调用PC端摄像头实时拍照的完整攻略。 1. 获取用户的设备权限和相机设备 在Vue中将调用PC端摄像头分为两步,首先是获取用户的设备权限和相机设备。 //获取用户媒体设备(摄像头) if (navigator.mediaDevices.getUserMedia) { navigator.mediaDevices.getUserM…

    JavaScript 2023年6月11日
    00
  • js opener的使用详解

    JavaScript中的opener 在JavaScript中,window.opener是一个全局对象,它代表调用当前窗口的父窗口对象。即如果我们使用一个子窗口来打开一个页面,那么该页面中的window.opener就代表了该子窗口的父窗口对象。opener对象的使用非常灵活,提供了多种用法。下面我们来详细了解一下opener对象。 属性 window.o…

    JavaScript 2023年6月11日
    00
  • javascript实现C语言经典程序题

    为了实现C语言经典程序题,我们需要先掌握一些基本概念和语法,包括控制结构、循环、条件语句、函数等。在掌握了这些基础后,我们可以通过JavaScript语言的灵活性和多功能性来实现这些经典的程序题目。 下面就来介绍如何实现一些经典的程序题目: 示例一:求字符串中子串的个数 题目描述:给定一个字符串和它的一个子串,要求在字符串中找到子串出现的次数。 // 方法一…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部