HTML-3.4 表单form

news2025/5/16 14:03:23

本系列可作为前端学习系列的笔记,代码的运行环境是在HBuilder中,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。

系列文章目录 

HTML-1.1 文本字体样式-字体设置、分割线、段落标签、段内回车以及特殊符号

HTML-2.1 文本字体样式之加粗、斜体、回车、下划线、上标标签、下标标签以及字号变小和变大

HTML-2.2 列表--无序列表、有序列表、定义列表

HTML-2.3 超链接-外部链接,内部链接,书签链接

HTML-2.4 滚动字幕marquee

HTML-3.1 表格table

 HTML-3.2 表格的跨行跨列(课表制作实例)

 HTML中应用CSS样式的三种常见方法  

HTML-3.3 表格布局(学校官网简易布局实例)

HTML-3.4 表单form

HTML-实战之 百度百科(影视剧介绍) 


目录

系列文章目录 

前言

一、表单 Form详解

1、基本结构

2、主要属性

3、常用表单控件

1. 输入框 (input)

2. 单选按钮 (radio) 和复选框 (checkbox)

3. 下拉选择框 (select)

4. 多行文本框 (textarea)

5. 按钮

6. 标签 (label)

4、表单分组 (fieldset 和 legend)

5、数据验证

6、样式和布局

7、现代表单技术

8、示例:完整表单

二、代码实例

总结


前言

小编作为新晋码农一枚,会定期整理一些写的比较好的代码,作为自己的学习笔记,会试着做一下批注和补充,如转载或者参考他人文献会标明出处,非商用,如有侵权会删改!欢迎大家斧正和讨论!

一、表单 Form详解

HTML 表单 (<form>) 是网页中用于收集用户输入的重要元素,允许用户输入文本、选择选项、上传文件等,并将这些数据提交到服务器进行处理。

1、基本结构

<form action="/submit" method="post">
  <!-- 表单控件放在这里 -->
  <input type="text" name="username">
  <input type="submit" value="提交">
</form>

2、主要属性

  1. action - 指定表单数据提交的URL
  2. method - 提交数据时使用的HTTP方法(通常是getpost
  3. enctype - 指定表单数据编码方式(用于文件上传时需要设置为multipart/form-data
  4. target - 指定服务器响应显示的位置(如_blank在新窗口打开)
  5. autocomplete - 控制表单是否启用自动填充功能

3、常用表单控件

1. 输入框 (input)

<input type="text" name="username" placeholder="用户名">
<input type="password" name="pwd" placeholder="密码">
<input type="email" name="email" placeholder="邮箱">
<input type="number" name="age" min="1" max="120">
<input type="date" name="birthday">
<input type="file" name="avatar" accept="image/*">
<input type="hidden" name="token" value="abc123"> <!-- 隐藏字段 -->

2. 单选按钮 (radio) 和复选框 (checkbox)

<input type="radio" name="gender" value="male" checked> 男
<input type="radio" name="gender" value="female"> 女

<input type="checkbox" name="hobby" value="reading"> 阅读
<input type="checkbox" name="hobby" value="sports"> 运动

3. 下拉选择框 (select)

<select name="city">
  <option value="bj">北京</option>
  <option value="sh" selected>上海</option>
  <option value="gz">广州</option>
</select>


4. 多行文本框 (textarea)

<textarea name="message" rows="4" cols="50" placeholder="请输入留言..."></textarea>

5. 按钮

<button type="submit">提交</button>
<button type="reset">重置</button>
<button type="button" onclick="alert('点击')">普通按钮</button>

6. 标签 (label)

<label for="username">用户名:</label>
<input type="text" id="username" name="username">

<!-- 或者 -->
<label>
  <input type="checkbox" name="agree"> 我同意协议
</label>

4、表单分组 (fieldset 和 legend)

<fieldset>
  <legend>用户信息</legend>
  <!-- 表单控件 -->
</fieldset>

5、数据验证

HTML5 提供了内置的表单验证功能:

<input type="text" name="username" required minlength="3" maxlength="20">
<input type="email" name="email" required>
<input type="number" name="age" min="18" max="100">
<input type="url" name="website">
<input type="pattern" name="phone" pattern="[0-9]{11}" placeholder="11位手机号">

6、样式和布局

可以使用CSS美化表单:

form {
  width: 300px;
  margin: 0 auto;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 5px;
}

input, textarea, select {
  width: 100%;
  padding: 8px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

input[type="submit"] {
  background-color: #4CAF50;
  color: white;
  cursor: pointer;
}

7、现代表单技术

  1. HTML5 表单 API - 包括日期选择器、颜色选择器、范围滑块等
  2. FormData 对象 - 用于通过JavaScript构建表单数据
  3. AJAX 表单提交 - 使用XMLHttpRequest或Fetch API异步提交表单
  4. 表单验证API - 自定义验证逻辑

8、示例:完整表单

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表单</title>
	</head>
	<body>
		<form action="/register" method="post" enctype="multipart/form-data">
		  <fieldset>
		    <legend>用户注册</legend>
		    
		    <div>
		      <label for="username">用户名:</label>
		      <input type="text" id="username" name="username" required minlength="3">
		    </div>
		    
		    <div>
		      <label for="pwd">密码:</label>
		      <input type="password" id="pwd" name="password" required>
		    </div>
		    
		    <div>
		      <label>性别:</label>
		      <input type="radio" id="male" name="gender" value="male" checked>
		      <label for="male">男</label>
		      <input type="radio" id="female" name="gender" value="female">
		      <label for="female">女</label>
		    </div>
		    
		    <div>
		      <label for="city">城市:</label>
		      <select id="city" name="city">
		        <option value="bj">北京</option>
		        <option value="sh">上海</option>
		        <option value="gz">广州</option>
		      </select>
		    </div>
		    
		    <div>
		      <label><input type="checkbox" name="agree" required> 我同意用户协议</label>
		    </div>
		    
		    <button type="submit">注册</button>
		    <button type="reset">重置</button>
		  </fieldset>
		</form>
		
	</body>
</html>

表单是Web开发中用户交互的核心组件,掌握表单的使用对于构建功能完善的网站至关重要。

二、代码实例

代码实例如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表单form</title>
		<!-- 表单框架form -->
		<style type="text/css">
			img{
				position: absolute;
				left: 45%;
				top: 300px;
				width: 100px;
			}
			
		</style>
	</head>
	<body>
		<!-- 表单框架form -->
		<!-- action数据处理文件 -->
		<!-- method数据传输方式 post get -->
		<!-- <form action="hello.php" method="get">
		</form>-->
		<!-- input type类型 -->
		<!-- 边框fieldset 领域设置-->
		<!-- placeholder提示 disabled 只读 -->
		<!-- 单选框radio 设置同样的name -->
		<!-- 设置默认值checked=“checked” -->
		<!-- 下拉列表select option 设置默认值 selected="selected" -->
		<!-- 下拉列表为一组 select optgroup option -->
		<form action="hello.php" method="post" enctype="multipart/form-data"> <!-- 表单使用POST方法将数据提交到hello.php,使用<fieldset>和<legend>对表单内容进行分组和标题设置 -->
			<!-- enctype="multipart/form-data"用于指定表单数据在提交到服务器时的编码方式。这个属性特别重要,尤其是在表单需要上传文件时 -->
			<legend>个人信息调查表</legend>
			<fieldset >
				<legend>个人信息调查表</legend> 
	<!-- <legend> 元素用于为 <fieldset> 分组提供一个标题或描述。这个标题通常显示在 <fieldset> 的边框上,帮助用户理解该分组的目的 -->
				<label for="xm">1.姓名:</label>
				<input type="text" name="请输入你的姓名" id="xm"  /><br>
	<!-- 有一个文本输入框用于输入姓名,name属性使用了中文,虽然可以工作,但建议使用英文,使用了<label>标签关联输入框,提高了可访问性 -->
				2.账号:<input type="text" disabled="disabled" /><br> <!-- 禁用的文本输入框,用户无法修改 -->
				3.密码:<input type="password"  /><br>  <!-- 密码输入框,输入内容会显示为圆点或星号 -->
				4.性别:男生<input type="radio" name="xb"  value="1" /> 
				女生<input type="radio" name="xb"  value="0" /><br>
				<!-- 两个单选按钮共享相同的name属性,实现互斥选择,分别设置了不同的value值 -->
				5.兴趣爱好:唱歌<input type="checkbox" name="hobby"  value="11" />
				跳舞<input type="checkbox" name="hobby"  value="22" />
				打篮球<input type="checkbox" name="hobby"  value="33" /><br>
				<!-- 三个复选框,可以多选,共享相同的name属性,但通常建议为每个复选框使用不同的name或使用数组形式命名 -->
				6.出生日期:<input type="date" /><br>
				<!-- 使用了HTML5的日期选择器,下面的注释中展示了其他日期时间相关的输入类型 -->
				<!-- 6.出生日期:<input type="date-time" /> -->
				<!-- 6.出生日期:<input type="datetime-local" /> -->
				7.范围:0 <input type="range" value="10" />100 <br> <!-- 范围滑块,默认值为10,范围0-100 -->
				8.上传文件:<input type="file"  /><br> <!-- 文件上传控件 -->
				9.email:<input type="email" /><br>   <!-- 邮箱输入框,浏览器会进行基本的邮箱格式验证 -->
				10.地址:<!-- 两个下拉选择框,第二个下拉框使用了<optgroup>对选项进行分组 -->
				<select name="">         
					<option value="">临汾市</option>
					<option value="">大同市</option>
					<option value="" selceted="selected">太原市</option>
					<option value="">晋中市</option>
				</select>
				<select name="">
					<optgroup label="山西省">
						<option value="0359">临汾市</option>
						<option >大同市</option>
						<option value="0351">太原市</option>
						<option >晋中市</option>
					</optgroup>
					<optgroup label="陕西省">
						<option>西安市</option>
						<option >宝鸡市</option>
						<option selected="selected">渭南市</option>
					</optgroup>
				</select>
				<br>
				11.意见:<!-- 多行文本输入区域,设置了3行高和30列宽 -->
				<textarea name="" rows="3" cols="30"></textarea>
				<br>
				12.提交三种方式button submit images 
				<!-- 四种按钮:普通按钮(button)、提交按钮(submit)、图片提交按钮(image)、重置按钮(reset) -->
				<br>
				<input type="button" name="" id="" value="button" />
				<input type="submit" name="" id="" value="submit" />
				<input type="image" src="../img/提交.webp" width="50px" />
				<!-- button可以调用其他方法和事件 -->
				<!-- submit只可以提交 image相当于submit -->
				<input type="reset" name="" id="" value="重置按钮" /><br>
				
				
			</fieldset>
			
		</form>
		
	</body>
</html>

代码运行:

注:

文件上传前:

文件上传后:


总结

以上就是今天要讲的内容,本文简单记录了表单form,仅作为一份简单的笔记使用,大家根据注释理解

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

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

相关文章

【MySQL】服务器配置与管理(相关日志)

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【MySQL】探秘&#xff1a;数据库世界的瑞士军刀 一、系统变量和选项 当通过mysqld启动数据库服务器时&#xff0c;可以通过选项文件或命令行中提供选项。一般&#xff0c;为了确保服务器在每次运行时…

【问题】Watt加速github访问速度:好用[特殊字符]

前言 GitHub 是全球知名的代码托管平台&#xff0c;主要用于软件开发&#xff0c;提供 Git 仓库托管、协作工具等功能&#xff0c;经常要用到&#xff0c;但是国内用户常因网络问题难以稳定访问 。 Watt Toolkit&#xff08;原名 Steam&#xff09;是由江苏蒸汽凡星科技有限公…

vue3:十三、分类管理-表格--行内按钮---行删除、批量删除实现功能实现

一、实现效果 增加行内按钮的样式效果,并且可以根绝父组件决定是否显示 增加行内删除功能、批量删除功能 二、增加行内按钮样式 1、增加视图层按钮 由于多个表格都含有按钮功能,所以这里直接在子组件中加入插槽按钮 首先增加表格行<el-table-column></el-table-…

浏览器设置代理ip后不能上网?浏览器如何改ip地址教程

使用代理IP已成为许多用户保护隐私、绕过地域限制或进行网络测试的常见做法。当浏览器设置代理IP后无法上网时&#xff0c;通常是由于代理配置问题或代理服务器本身不可用。以下是排查和解决问题的详细步骤&#xff0c;以及更改浏览器IP的方法&#xff1a; 一、代理设置后无法上…

R语言的专业网站top5推荐

李升伟 以下是学习R语言的五个顶级专业网站推荐&#xff0c;涵盖教程、社区、资源库和最新动态&#xff1a; 1.R项目官网 (r-project.org) R语言的官方网站&#xff0c;提供软件下载、文档、手册和常见问题解答。特别适合初学者和高级用户&#xff0c;是获取R语言核心资源的…

[训练和优化] 3. 模型优化

&#x1f44b; 你好&#xff01;这里有实用干货与深度分享✨✨ 若有帮助&#xff0c;欢迎&#xff1a;​ &#x1f44d; 点赞 | ⭐ 收藏 | &#x1f4ac; 评论 | ➕ 关注 &#xff0c;解锁更多精彩&#xff01;​ &#x1f4c1; 收藏专栏即可第一时间获取最新推送&#x1f514;…

无人设备遥控器之无线通讯技术篇

无人设备遥控器的无线通讯技术是确保遥控操作准确、稳定、高效进行的关键。以下是对无人设备遥控器无线通讯技术的详细解析&#xff1a; 一、主要无线通讯技术类型 Wi-Fi通讯技术 原理&#xff1a;基于IEEE 802.11标准&#xff0c;通过无线接入点&#xff08;AP&#xff09;…

PyTorch LSTM练习案例:股票成交量趋势预测

文章目录 案例介绍源码地址代码实现导入相关库数据获取和处理搭建LSTM模型训练模型测试模型绘制折线图主函数 绘制结果 案例介绍 本例使用长短期记忆网络模型对上海证券交易所工商银行的股票成交量做一个趋势预测&#xff0c;这样可以更好地掌握股票买卖点&#xff0c;从而提高…

CK3588下安装linuxdeployqt qt6 arm64

参考资料&#xff1a; Linux —— linuxdeployqt源码编译与打包&#xff08;含出错解决&#xff09; linux cp指令报错&#xff1a;cp: -r not specified&#xff1b; cp: omitting directory ‘xxx‘&#xff08;需要加-r递归拷贝&#xff09; CMake Error at /usr/lib/x86_64…

木马查杀引擎—关键流程图

记录下近日研究的木马查杀引擎&#xff0c;将关键的实现流程图画下来 PHP AST通道实现 木马查杀调用逻辑 模型训练流程

二程运输的干散货船路径优化

在二程运输中,干散货船需要将货物从一个港口运输到多个不同的目的地港口。路径优化的目标是在满足货物运输需求、船舶航行限制等条件下,确定船舶的最佳航行路线,以最小化运输成本、运输时间或其他相关的优化目标。 影响因素 港口布局与距离:各个港口之间的地理位置和距离…

华为数字政府与数字城市售前高级专家认证介绍

华为数字政府与数字城市售前高级专家认证面向华为合作伙伴售前高级解决方案专家、华为数字政府与数字城市行业解决方案经理&#xff08;VSE&#xff09;。 通过认证验证的能力 您将了解数字政府、数字城市行业基础知识&#xff0c;了解该领域内的重点场景&#xff1b;将对华…

【docker】--容器管理

文章目录 容器重启--restart 参数选项及作用**对比 always 和 unless-stopped****如何查看容器的重启策略&#xff1f;** 容器重启 –restart 参数选项及作用 重启策略 no&#xff1a;不重启&#xff08;默认&#xff09;。on-failure&#xff1a;失败时重启&#xff08;可限…

基于OpenCV的人脸微笑检测实现

文章目录 引言一、技术原理二、代码实现2.1 关键代码解析2.1.1 模型加载2.1.2 图像翻转2.1.3 人脸检测 微笑检测 2.2 显示效果 三、参数调优建议四、总结 引言 在计算机视觉领域&#xff0c;人脸检测和表情识别一直是热门的研究方向。今天我将分享一个使用Python和OpenCV实现…

2025-5-15Vue3快速上手

1、setup和选项式API之间的关系 (1)vue2中的data,methods可以与vue3的setup共存 &#xff08;2&#xff09;vue2中的data可以用this读取setup中的数据&#xff0c;但是反过来不行&#xff0c;因为setup中的this是undefined &#xff08;3&#xff09;不建议vue2和vue3的语法混用…

【金仓数据库征文】从生产车间到数据中枢:金仓数据库助力MES系统国产化升级之路

目录 前言一、金仓数据库&#xff1a;国产数据库的中坚力量二、制造业MES系统&#xff1a;数据驱动的生产智能MES系统的核心价值MES系统关键模块与数据库的关系1. BOM管理2. 生产工单与订单管理3. 生产排产与资源调度4. 生产报工与实时数据采集 5. 采购与销售管理 三、从MySQL到…

HTML17:表单初级验证

表单初级验证 常用方式 placeholder 提示信息 <p>名字:<input type"text" name"username" maxlength"8" size"30" placeholder"请输入用户名"></p>required 非空判断 <p>名字:<input type"…

从卡顿到丝滑:JavaScript性能优化实战秘籍

引言 在当今的 Web 开发领域&#xff0c;JavaScript 作为前端开发的核心语言&#xff0c;其性能表现对网页的加载速度、交互响应以及用户体验有着举足轻重的影响。随着 Web 应用的复杂度不断攀升&#xff0c;功能日益丰富&#xff0c;用户对于网页性能的期望也越来越高。从电商…

ORB特征点检测算法

角点是图像中灰度变化在两个方向上都比较剧烈的点。与边缘&#xff08;只有一个方向变化剧烈&#xff09;或平坦区域&#xff08;灰度变化很小&#xff09;不同&#xff0c;角点具有方向性和稳定性。 tips:像素梯度计算 ORB算法流程简述 1.关键点检测&#xff08;使用FAST…

快速通关单链表秘籍

1.单链表概念与结构 1.1 概念 链表是一种逻辑结构连续&#xff0c;物理结构不连续的存储结构&#xff0c;数据结构的逻辑顺序是通过链表中的指针链接次序实现。 光看定义有点不好理解&#xff0c;我们举个简单例子&#xff01; 我们都看过火车吧&#xff0c;我们看到的火车…