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

yizhihongxing

获取 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日

相关文章

  • 微信小程序开发探究

    微信小程序开发探究 微信小程序是一种全新的开发模式,可以实现在微信中快速开发小型应用。本文旨在为开发者提供一份完整的微信小程序开发攻略,涵盖从创建应用、开发基本组件到调用API等方面的内容。 创建应用 要创建一个微信小程序,需要进行以下步骤: 下载并安装微信开发者工具; 在工具中,选择“新建小程序”; 填写小程序的基本信息,并选择开发模式; 进入开发者工具的…

    JavaScript 2023年6月11日
    00
  • JavaScript中isPrototypeOf函数

    下面是完整的JavaScript中isPrototypeOf函数的攻略: 标题 isPrototypeOf函数概述 isPrototypeOf() 是 JavaScript 中 Object 类型内置的函数之一。它用于判断一个对象是否是另一个对象的原型。原型链是 JavaScript 对象的核心概念之一,因此 isPrototypeOf() 函数通常被用于判…

    JavaScript 2023年5月28日
    00
  • 深入理解javascript的执行顺序

    深入理解JavaScript的执行顺序是编写优秀JavaScript代码的基础。JavaScript的执行顺序遵循一定的规则,理解这些规则可以帮助我们理解代码的执行顺序,避免出现错误。 1. 执行栈 在深入了解JavaScript的执行顺序之前,我们需要了解执行栈的概念。执行栈是一个存储函数调用的栈结构,当JavaScript代码执行的时候,函数调用会被依次…

    JavaScript 2023年5月18日
    00
  • js实现动态添加上传文件页面

    实现动态添加上传文件页面,可以通过以下几个步骤完成: HTML部分 首先,在HTML文件中,提供一个用于点击后触发上传文件对话框的按钮,并准备一个div容器,用于动态添加上传文件表单: <button id="addFileBtn">添加上传文件</button> <div id="fileForm…

    JavaScript 2023年5月27日
    00
  • Javascript中的方法和匿名方法实例详解

    Javascript中的方法和匿名方法实例详解 在Javascript中,方法和匿名方法是非常常用的函数形式。本文将详细讲解这两种函数的概念,区别,用法和实例。 方法 概念 方法就是被绑定到某个对象上的函数,在一个对象上定义一个方法,就是在对象上添加一个函数属性。 语法 对象名.方法名 = function(参数) { // 函数体 } 其中,对象名就是方法…

    JavaScript 2023年6月10日
    00
  • JavaScript的Proxy可以做哪些有意思的事儿

    下面是详细讲解 JavaScript 的 Proxy 可以做哪些有意思的事儿的完整攻略: 什么是JavaScript Proxy Proxy 是 ES6 中的一个新特性,用于在对象之前设立一个“拦截器”,对该对象的访问进行过滤和改写,提供了一种机制来对对象的访问进行监视和控制。 Proxy 最常见的用途之一是在对象上设置隐藏属性或包装器,它可以通过重写 ge…

    JavaScript 2023年5月27日
    00
  • File, FileReader 和 Ajax 文件上传实例分析(php)

    首先我们来介绍一下File、FileReader和Ajax文件上传,然后详细讲解与PHP语言相关的开发实例。 什么是File、FileReader和Ajax文件上传 File File是HTML5中的一个API,用于提供用户选择的文件。我们可以通过input标签中的type=”file”来实现文件选择,然后可以通过JavaScript代码获取到选择的文件的相…

    JavaScript 2023年6月10日
    00
  • 原生javascript单例模式的应用实例分析

    原生JavaScript单例模式是设计模式中比较经典的一种,可以控制某个对象只创建一个实例,适用于需要全局访问某个对象且只需要一个实例的场景。下面就是一个原生JavaScript单例模式的应用实例分析,帮助你更好地理解该设计模式的应用。 什么是原生JavaScript单例模式 原生JavaScript单例模式指在JavaScript中用最简单、最基本的方法创…

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