从零开始学表单操作,jQuery 与原生 JavaScript 完全指南,带你轻松掌握网页交互关键!

简介: 【8月更文挑战第31天】在网页开发中,表单是实现用户互动的关键元素。无论是收集信息、提交数据还是验证输入,都需要对表单进行有效操作。本文档介绍了如何使用原生 JavaScript 和 jQuery 操作表单,包括获取表单元素、读写表单值、处理表单提交及验证等核心功能。jQuery 提供了更简洁的语法和更好的兼容性,但原生 JavaScript 在性能上有优势。选择合适的方法取决于项目需求和个人偏好。下面通过具体示例展示了两种方式的操作方法。

在网页开发中,表单是与用户交互的重要元素之一。无论是收集用户信息、提交数据还是进行各种验证,都需要对表单进行有效的操作。本指南将带你从零开始,深入了解如何使用 jQuery 和原生 JavaScript 来操作表单。

一、原生 JavaScript 表单操作

  1. 获取表单元素
    可以通过 document.getElementById()、document.querySelector() 等方法来获取表单元素。例如:
<form id="myForm">
  <input type="text" name="username">
  <input type="password" name="password">
  <button type="submit">提交</button>
</form>
const form = document.getElementById('myForm');
const usernameInput = form.elements['username'];
const passwordInput = form.elements['password'];
  1. 获取和设置表单值
    可以使用 value 属性来获取和设置表单元素的值。例如:
// 获取值
const username = usernameInput.value;
const password = passwordInput.value;

// 设置值
usernameInput.value = 'newUsername';
passwordInput.value = 'newPassword';
  1. 表单提交
    可以通过监听表单的 submit 事件来处理表单提交。例如:
form.addEventListener('submit', function(event) {
   
  event.preventDefault();
  // 处理表单提交逻辑
});
  1. 表单验证
    可以在表单提交时进行各种验证,如检查必填字段、验证邮箱格式等。例如:
form.addEventListener('submit', function(event) {
   
  event.preventDefault();
  if (usernameInput.value === '') {
   
    alert('用户名不能为空');
    return;
  }
  if (passwordInput.value === '') {
   
    alert('密码不能为空');
    return;
  }
  // 继续处理表单提交逻辑
});

二、jQuery 表单操作

  1. 获取表单元素
    使用 jQuery 的选择器可以轻松获取表单元素。例如:
<form id="myForm">
  <input type="text" name="username">
  <input type="password" name="password">
  <button type="submit">提交</button>
</form>
const $form = $('#myForm');
const $usernameInput = $('input[name="username"]');
const $passwordInput = $('input[name="password"]');
  1. 获取和设置表单值
    可以使用 val() 方法来获取和设置表单元素的值。例如:
// 获取值
const username = $usernameInput.val();
const password = $passwordInput.val();

// 设置值
$usernameInput.val('newUsername');
$passwordInput.val('newPassword');
  1. 表单提交
    可以使用 submit() 方法来提交表单,也可以监听 submit 事件来处理表单提交。例如:
$form.submit(function(event) {
   
  event.preventDefault();
  // 处理表单提交逻辑
});
  1. 表单验证
    可以使用 jQuery 的插件或自定义函数来进行表单验证。例如:
$form.submit(function(event) {
   
  event.preventDefault();
  if ($usernameInput.val() === '') {
   
    alert('用户名不能为空');
    return false;
  }
  if ($passwordInput.val() === '') {
   
    alert('密码不能为空');
    return false;
  }
  // 继续处理表单提交逻辑
});

三、比较原生 JavaScript 和 jQuery

  1. 语法简洁性
    jQuery 的语法通常更加简洁和直观,尤其是在处理复杂的 DOM 操作和事件处理时。

  2. 兼容性
    jQuery 可以在不同的浏览器上提供一致的 API,减少了兼容性问题。而原生 JavaScript 需要更多的考虑不同浏览器的差异。

  3. 性能
    在一些情况下,原生 JavaScript 可能会比 jQuery 性能更好,特别是在处理大量的表单操作时。

  4. 学习曲线
    对于初学者来说,jQuery 可能更容易上手,因为它提供了很多现成的功能和方法。而原生 JavaScript 需要更多的时间来学习和掌握。

总之,无论是使用原生 JavaScript 还是 jQuery,都可以有效地操作表单。选择哪种方法取决于你的项目需求、个人偏好和开发经验。希望本指南对你在表单操作方面有所帮助。

以下是一个完整的示例,展示了使用原生 JavaScript 和 jQuery 进行表单操作的比较:

<!DOCTYPE html>
<html>

<head>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>

<body>

  <form id="myForm">
    <input type="text" name="username">
    <input type="password" name="password">
    <button type="submit">提交</button>
  </form>

  <script>
    // 原生 JavaScript 表单操作
    const form = document.getElementById('myForm');
    const usernameInput = form.elements['username'];
    const passwordInput = form.elements['password'];

    form.addEventListener('submit', function(event) {
    
      event.preventDefault();
      const username = usernameInput.value;
      const password = passwordInput.value;
      console.log('原生 JavaScript:用户名 = ' + username + ', 密码 = ' + password);
    });

    // jQuery 表单操作
    const $form = $('#myForm');
    const $usernameInput = $('input[name="username"]');
    const $passwordInput = $('input[name="password"]');

    $form.submit(function(event) {
    
      event.preventDefault();
      const username = $usernameInput.val();
      const password = $passwordInput.val();
      console.log('jQuery:用户名 = ' + username + ', 密码 = ' + password);
    });
  </script>

</body>

</html>

在这个示例中,我们同时使用了原生 JavaScript 和 jQuery 来处理表单提交,并打印出用户名和密码的值。你可以根据自己的需求选择适合的方法来操作表单。

相关文章
|
7月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
257 56
|
6月前
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
1102 58
|
3月前
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
818 0
|
6月前
|
数据采集 Web App开发 JavaScript
Python爬虫如何获取JavaScript动态渲染后的网页内容?
Python爬虫如何获取JavaScript动态渲染后的网页内容?
|
10月前
|
JavaScript
jquery实现的网页版扫雷小游戏源码
这是一款基于jQuery实现的经典扫雷小游戏源码,玩家根据游戏规则进行游戏,末尾再在确定的地雷位置单击右键安插上小红旗即可赢得游戏!是一款非常经典的jQuery游戏代码。本源码改进了获胜之后的读数暂停功能。
248 69
|
11月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
2784 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
10月前
|
JavaScript 前端开发 测试技术
盘点原生JavaScript中直接触发事件的方式
本文全面探讨了原生JavaScript中触发事件的多种方式,包括`dispatchEvent`、`Event`构造函数、`CustomEvent`构造器、直接调用事件处理器以及过时的`createEvent`和`initEvent`方法。通过技术案例分析,如模拟点击事件、派发自定义数据加载事件和实现提示框系统,帮助开发者掌握这些方法在实际开发中的应用,提升灵活性与兼容性。
370 3
|
12月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
432 5
|
12月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
323 4