内力网站建设/百度做广告多少钱一天

内力网站建设,百度做广告多少钱一天,建一个购物网站,锦州网页制作一、表单的基本概念 在网页开发里&#xff0c;表单是实现用户与网页交互的关键组件&#xff0c;用于收集用户输入的数据&#xff0c;JavaScript 则能为表单增添强大的交互性和功能性。表单在 HTML 里通过 <form> 标签创建&#xff0c;包含多种表单元素&#xff0c;如文本…

一、表单的基本概念

在网页开发里,表单是实现用户与网页交互的关键组件,用于收集用户输入的数据,JavaScript 则能为表单增添强大的交互性和功能性。表单在 HTML 里通过 <form> 标签创建,包含多种表单元素,如文本框、下拉框、单选框、复选框、提交按钮等。用户在这些元素里输入数据,点击提交按钮后,数据会被发送到服务器进行处理。

常用属性和方法

  • document.forms:获取页面中的所有表单。

  • form.elements:获取表单中的所有控件(如输入框、按钮等)。

  • value:获取或设置输入框的值。

  • addEventListener():为表单添加事件监听器。

  • submit():手动提交表单。

  • reset():重置表单。

二、表单的常用操作

1. 创建基本的 HTML 表单

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JavaScript 表单示例</title></head><body><form id="myForm">用户名: <label for="username"></label><input type="text" id="username" name="username"><br><br>密码: <label for="password"></label><input type="password" id="password" name="password"><br><br><button type="button" onclick="getFormData()">提交</button></form>​<script>function getFormData() {const username = document.getElementById('username').value;const password = document.getElementById('password').value;​console.log('用户名:', username);console.log('密码:', password);​alert(`用户名: ${username}, 密码: ${password}`);}</script></body></html>

2. 表单验证

表单验证是确保用户提交的数据符合要求的重要步骤,JavaScript提供了强大的功能来实现前端验证。

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>表单验证示例</title></head><body><form id="validationForm" onsubmit="return validateForm()">邮箱: <label for="email"></label><input type="email" id="email" name="email"><br><br>年龄: <label for="age"></label><input type="number" id="age" name="age"><br><br><button type="submit">提交</button></form>​<script>function validateForm() {const email = document.getElementById('email').value;const age = document.getElementById('age').value;​if (!email) {alert('邮箱不能为空');return false;}​if (isNaN(age) || age <= 0) {alert('请输入有效的年龄');return false;}​alert('表单验证通过!');return true;}</script></body></html>

3. 使用JavaScript提交表单

有时需要使用JavaScript程序化地提交表单。JavaScript提供了包含submit()方法的表单对象,通过获取表单的ID来获取表单对象。

 document.getElementById("form1").submit();

4. 使用FormData对象发送表单数据

FormData对象可以方便地处理表单数据的发送。

 const form = document.querySelector("#form1");async function sendData() {const formData = new FormData(form);try {const response = await fetch("https://example.org/post ", {method: "POST",body: formData,});console.log(await response.json());} catch (e) {console.error(e);}}

5. 表单重置

可以通过JavaScript代码调用表单的reset()方法来重置表单。

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>表单验证示例</title></head><body><form id="form1"><!-- 表单元素 --><input type="button" value="重置" onclick="resetForm()"></form>​<script>function resetForm() {document.getElementById("form1").reset();}</script></body></html>

6. 动态修改表单内容

可以通过FormData对象获取表单中的所有数据。

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>动态修改表单示例</title></head><body><form id="dynamicForm">用户名: <input type="text" id="username" name="username"><br><br><button type="button" onclick="changeUsername()">更改用户名</button></form>​<script>function changeUsername() {const newUsername = prompt('请输入新的用户名:');if (newUsername) {document.getElementById('username').value = newUsername;}}</script></body></html>

7. 禁用表单元素

可以通过设置disabled属性来禁用表单元素。

 // 禁用用户名输入框username.disabled = true;

8. 监听输入事件

可以为表单元素添加事件监听器,例如inputchange事件。

 username.addEventListener("input", function() {console.log("用户名输入框内容已更改:", username.value);});​age.addEventListener("change", function() {console.log("年龄输入框内容已更改:", age.value);});

三、完整示例代码

以下是一个完整的HTML和JavaScript代码示例,展示了表单的创建、验证、获取数据和动态修改。

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JavaScript表单操作</title></head><body><form id="exampleForm"><label for="username">用户名:</label><input type="text" id="username" name="username" required><br><br>​<label for="password">密码:</label><input type="password" id="password" name="password" required><br><br>​<label for="age">年龄:</label><input type="number" id="age" name="age" min="18"><br><br>​<label>性别:</label><input type="radio" id="male" name="gender" value="male"><label for="male">男</label><input type="radio" id="female" name="gender" value="female"><label for="female">女</label><br><br>​<label>爱好:</label><input type="checkbox" id="reading" name="hobbies" value="reading"><label for="reading">阅读</label><input type="checkbox" id="traveling" name="hobbies" value="traveling"><label for="traveling">旅行</label><br><br>​<button type="submit">提交</button></form>​<script>const form = document.getElementById("exampleForm");const username = document.getElementById("username");const password = document.getElementById("password");const age = document.getElementById("age");​form.addEventListener("submit", function (event) {event.preventDefault();​const usernameValue = username.value.trim();const passwordValue = password.value.trim();const ageValue = age.value.trim();​if (usernameValue === "") {alert("用户名不能为空!");return;}​if (passwordValue.length < 6) {alert("密码长度至少为6位!");return;}​if (ageValue < 18) {alert("年龄必须大于等于18岁!");return;}​alert("表单验证通过!");});​username.addEventListener("input", function () {console.log("用户名输入框内容已更改:", username.value);});​age.addEventListener("change", function () {console.log("年龄输入框内容已更改:", age.value);});</script></body></html>

四、总结

JavaScript对表单的操作功能非常强大,不仅可以实现简单的数据获取和验证,还可以动态修改表单内容、监听用户输入等。通过合理使用这些功能,可以提升用户体验并增强表单的交互性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/71322.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哈希表(C语言版)

文章目录 哈希表原理实现(无自动扩容功能)代码运行结果 分析应用 哈希表 如何统计一段文本中&#xff0c;小写字母出现的次数? 显然&#xff0c;我们可以用数组 int table[26] 来存储每个小写字母出现的次数&#xff0c;而且这样处理&#xff0c;效率奇高。假如我们想知道字…

昆虫-目标检测数据集(包括VOC格式、YOLO格式)

昆虫-目标检测数据集&#xff08;包括VOC格式、YOLO格式&#xff09; 数据集&#xff1a; 链接: https://pan.baidu.com/s/1tYb8s-AVJgSp7SGvqdWF9A?pwdt76a 提取码: t76a 数据集信息介绍&#xff1a; 共有 6009 张图像和一一对应的标注文件 标注文件格式提供了两种&#x…

python学opencv|读取图像(七十五)人脸识别:Fisherfaces算法和LBPH算法

【1】引言 前序学习进程中&#xff0c;已经掌握了使用Eigenfaces算法进行的人脸识别。相关文章链接为&#xff1a; python学opencv|读取图像&#xff08;七十四&#xff09;人脸识别&#xff1a;EigenFaces算法-CSDN博客 在此基础上&#xff0c;学习剩余两种人脸识别算法&am…

【MySQL】 基本查询(下)

欢迎拜访&#xff1a;雾里看山-CSDN博客 本篇主题&#xff1a;【MySQL】 基本查询(下) 发布时间&#xff1a;2025.2.18 隶属专栏&#xff1a;MySQL 目录 Update语法案例 Delete删除数据语法案例 截断表语法案例 插入查询结果语法案例 聚合函数函数介绍案例 group by子句的使用语…

基于Flask的广西高校舆情分析系统的设计与实现

【Flask】基于Flask的广西高校舆情分析系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统综合运用Python、Flask框架及多种数据处理与可视化工具开发&#xff0c;结合Boot…

NAT(网络地址转换)技术详解:网络安全渗透测试中的关键应用与防御策略

目录 NAT的作用 NAT类型 NAT工作流程示例 NAT 转换技术的原理 源地址转换&#xff08;SNAT&#xff0c;Source NAT&#xff09;&#xff1a; 目标地址转换&#xff08;DNAT&#xff0c;Destination NAT&#xff09;&#xff1a; 端口地址转换&#xff08;PAT&#xff0c…

【怎么使用Redis实现一个延时队列?】

怎么使用Redis实现一个延时队列? 详细说明Java代码示例解释注意事项使用Redis实现延时队列通常通过有序集合(Sorted Set)来实现,利用Redis的ZSET类型及其相关命令可以很方便地实现这一功能。 有序集合中的每个元素都有一个分数(score),我们可以利用这个分数来存储消息需…

STM32 I2C通信协议说明

目录 背景 I2C协议 数据的有效性 I2C通信开始和停止条件 I2C数据传输 发送 响应 正常情况&#xff1a; 异常情况&#xff1a; 主机结束接收 写寄存器的标准流程 读寄存器的标准流程 仲裁机制 时钟同步 SDA线的仲裁 程序 背景 对单片机的三大通信中的I2C通信进…

服务器中部署大模型DeepSeek-R1 | 本地部署DeepSeek-R1大模型 | deepseek-r1部署详细教程

0. 部署前的准备 首先我们需要足够算力的机器&#xff0c;这里我在vultr中租了有一张A16显卡一共16GB显存的服务器作为演示。部署的模型参数为14b的。如果需要部署满血版本671b的&#xff0c;需要更大的算力支持&#xff0c;这里由于是个人资金有限&#xff0c;就演示14b的部署…

毕业设计—基于Spring Boot的社区居民健康管理平台的设计与实现

&#x1f393; 毕业设计大揭秘&#xff01;想要源码和文章&#xff1f;快来私信我吧&#xff01; Hey小伙伴们~ &#x1f44b; 毕业季又来啦&#xff01;是不是都在为毕业设计忙得团团转呢&#xff1f;&#x1f914; 别担心&#xff0c;我这里有个小小的福利要分享给你们哦&…

基于Go语言 XTA AI聊天界面实现

项目开源地址: XTA-AI-SDK 人工智能技术的迅速发展&#xff0c;AI聊天应用变得越来越流行。本文将介绍如何使用Go语言和LCL库&#xff08; Lazarus Component Library&#xff09;创建一个功能丰富的AI聊天界面。项目主要包含以下模块&#xff1a; 项目背景 本项目旨在为开发…

MongoDB 7 分片副本集升级方案详解(下)

#作者&#xff1a;任少近 文章目录 1.4 分片升级1.5 升级shard11.6 升级shard2,shard31.7 升级mongos1.8重新启用负载均衡器1.9 推荐MongoDB Compass来验证数据 2 注意事项&#xff1a; 1.4 分片升级 使用“滚动”升级从 MongoDB 7.0 升级到 8.0&#xff0c;即在其他成员可用…

Leetcode 424-替换后的最长重复字符

给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符&#xff0c;并将其更改为任何其他大写英文字符。该操作最多可执行 k 次。 在执行上述操作后&#xff0c;返回 包含相同字母的最长子字符串的长度。 题解 可以先做LCR 167/Leetcode 03再做本题 滑动窗口&…

【实战项目】BP神经网络识别人脸朝向----MATLAB实现

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

STM32 HAL库USART串口中断编程:演示数据丢失

目录 一、开发环境 二、配置STM32CubeMX 三、代码实现与部署 四、运行结果&#xff1a; ​五、注意事项 上面讨论过,HAL_UART_Receive最容易丢数据了,可以考虑用中断来实现,但是HAL_UART_Receive_IT还不能直接用,容易数据丢失,实际工作中不会这样用,本文介绍STM32F103 HAL库函数…

Javascript网页设计案例:通过PDF.js实现一款PDF阅读器,包括预览、页面旋转、页面切换、放大缩小、黑夜模式等功能

前言 目前功能包括&#xff1a; 切换到首页。切换到尾页。上一页。下一页。添加标签。标签管理页面旋转页面随意拖动双击后还原位置 其实按照自己的预期来说&#xff0c;有很多功能还没有开发完&#xff0c;配色也没有全都搞完&#xff0c;先发出来吧&#xff0c;后期有需要…

缺陷检测之图片标注工具--labme

一、labelme简介 Labelme是开源的图像标注工具&#xff0c;常用做检测&#xff0c;分割和分类任务的图像标注。 它的功能很多&#xff0c;包括&#xff1a; 对图像进行多边形&#xff0c;矩形&#xff0c;圆形&#xff0c;多段线&#xff0c;线段&#xff0c;点形式的标注&a…

Kafka集群,常见MQ面试问题

Kafka 名词介绍 Topic: 消息队列&#xff0c;生产者和消费者面向的都是一个TopicBroker: 一个Kafka服务器就是一个Broker&#xff0c;一个集群由多个Broker组成。一个Broker可以容纳多个TopicProducer: 消息生产者&#xff0c;向Kafka Broker发生消息的客户端Consumer: 消息消…

Unity DeepSeek API 聊天接入教程(0基础教学)

Unity DeepSeek API 聊天接入教程(0基础教学) 1.DeepSeek 介绍 DeepSeek是杭州深度求索人工智能基础技术研究有限公司推出的一款大语言模型。2025年1月20日&#xff0c;DeepSeek-R1正式上线&#xff0c;和当前市面上的主流AI相比&#xff0c;它在仅有极少标注数据的情况下&am…

el-input无法输入0.0001的小数,自动转换为0在vue3中的bug

今天遇到个bug&#xff0c;el-input中只能输入0.1或者输入0.1再加上00成为0.001&#xff0c;不能直接输入0.001&#xff0c;否则自动转换为0。需要去掉 v-model.number后面的 .number 源代码&#xff1a; <el-table-column label"实发数量" width"120"…