博主信息
Lon
博文
22
粉丝
0
评论
0
访问量
2492
积分:0
P豆:48

HTML 表单内容的详细介绍

2021年09月23日 15:41:35阅读数:164博客 / Lon/ HTML

HTML表单内容的详细介绍

HTML 表单是用于搜集不同类型的用户输入的,表单是一个包含表单元素的区域;表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素;表单使用表单标签(<form>)定义。

一、介绍

1、表单概念

表单最重要的表现是在客户端接收用户的信息,然后将数据递交给后台的程序来操控这些数据,从技术的概念上说,表单就是用来操作form对象,对象是一种基本的数据类型

2、创建表单

表单通过<form>标签来创建,其中放置表单的对象,如表单域、按钮和其他事物,<form>标签中可扩展几个属性

a.action属性

通过<form>标签定义的表单里面必须有action属性才可以将表单中的数据递交上去

  1. <form action="check.php">
  2. </form>

以上代码表示这个表单的作用是用来提交到check.php这个页面的数据

b.method属性

该属性的作用是告诉浏览器数据是以何种方式提交上去的,该属性下有两个选择:”get”和”post”。

默认情况下,数据被提交的方式是get,表单域中输入的内容会添加在action指定的URL中,当表单提交后用户便获得一个明确的URL,由于这种方式下数据会添加到URL中,而post 这种方式,数据将以HTTP头的形式发送,表单数据不再是URL中的一部分。二者区别是get在安全性上较差,所有表单域的值 直接呈现,而post除了可见的处理脚本程序以外,别的东西都可以隐藏,所以在实际运用时通常选择post这种处理方式。

post:数据在请求体中,不在url中,安全,可发送大量数据,例如文件上传 。

get:数据在url中, 明文发送,适合少量数据,不超过4k。

  1. <form action="check.php" method="POST">
  2. </form>

c.name属性

作用是令提交上去的表单数据可以被处理这些数据的程序识别,大部分页面中放入的表单很可能不止一个,此时就需要给不同 的表单起不同的名字,以便程序识别

  1. <form action="check.php" method="POST" name="student">
  2. </form>

d.enctype属性

该属性代表HTML表单数据的编码方式,分别有application/x-www-form-urlencoded(标准编码方式,提交的数据被编码为名称/ 值对)、multipart/form-data(表示数据编码为一条信息,为表单定义了MIME编码方式,创建了一个与传统不同的POST缓冲 区,页面上每个控件对应消息的一个部分)和text/plain(表示数据以纯文本的形式进行编码,这样在信息中将不包含控件或格 式字符)共三种方式

  1. <form action="check.php" method="POST" name="student" enctype="multipart/form-data">
  2. </form>

上述代码表示:不对字符编码,发送二进制文件数据。当使用有文件上传控件的表单时,必须设置该值。

3、表单域:即用户输入数据的地方

表单域可以分为input、textarea、select 3个对象,其中大部分表单通过input属性来实现,textarea和select创建一种控制类型

二、input对象下的多种表单表现形式

页面中大部分表单的形式都是通过输入标记input来实现的

  1. <form action="check.php" method="POST">
  2. <!-- 单行文本框 -->
  3. <div>
  4. <label for="username">账号:</label>
  5. <input
  6. type="text"
  7. id="username"
  8. name="username"
  9. placeholder="不少于8位"
  10. required
  11. autofocus
  12. value="lisi"
  13. />
  14. </div>
  15. </form>

a.其中name表示输入数据的名字,其作用是为了让程序明白所提交的数据,如果缺少了这样一个name属性,虽然在浏览器中的显示没有什么变化,但是后台程序就不能获得提交的数据

b.type属性表示所定义的是哪种类型的表单形式,该属性有九个可选值:

text 单行的文本框
password 将文本替换为”*”的文本框
checkbox 只能做二选一的是或否选择
radio 从多个选项中确定的一个文本框
submit 确定命令文本框
hidden 设定不可被浏览用户修改的数据
image 用图片表示的确定符号
file 设置文件上传
button 用来配合客户端脚本

c.placeholder:表示文本框字段的提示信息

d.required:表示字段不能为空

e.autofocus:表示页面一打开文本框自动获取焦点

f.value:表示预先设置好的信息

4、checkbox复选框的表单样式(浏览器会在选择栏前面提供一个小方框如果选择小框中会添加小勾符号表示选中)

  1. <form action="check.php" method="POST">
  2. <!-- 复选框 -->
  3. <div>
  4. <!-- 单选按钮中的name属性,必须全部一样,才能保证返回唯一值 -->
  5. <!-- hobby[]表示数组,可以保存一组不同类型的数据,供后端调用 -->
  6. <label for="">爱好:</label>
  7. <input type="checkbox" name="hobby[]" id="game" checked /><label for="game">游戏</label>
  8. <input type="checkbox" name="hobby[]" id="trave" /><label for="trave">旅游</label>
  9. <input type="checkbox" name="hobby[]" id="shoot" /><label for="shoot">摄影</label>
  10. <!-- checked布尔属性,不需要值,只要存在就是true / 真 -->
  11. </div>
  12. </form>

上面代码中添加了checked=”checked”表示复选框默认值设置为checked,那么√符号会被默认添加

5、radio单选按钮的样式表单(多选一表单)

  1. <form action="check.php" method="POST">
  2. <!-- 单选框 -->
  3. <div>
  4. <label for="sex">性别</label>
  5. <!-- 单选按钮中的name属性,必须全部一样,才能保证返回唯一值 -->
  6. <input type="radio" name="sex" id="male" value="1"><label for="male"></label>
  7. <input type="radio" name="sex" id="female" value="0"><label for="female"></label>
  8. <input type="radio" name="sex" id="secret" value="-1" checked><label for="secret">保密</label>
  9. <!-- checked布尔属性,不需要值,只要存在就是true / 真 -->
  10. </div>
  11. </form>

6、提交表单数据

a.submit提交方式

  1. <form action="check.php" method="POST">
  2. <!-- 单行文本框 -->
  3. <div>
  4. <label for="username">账号:</label>
  5. <input type="text" name="username" value="lisi" />
  6. <input type="submit" value="提交">
  7. <input type="reset" value="重置">
  8. </div>
  9. </form>

b.onsubmit提交方式

  1. <form action="check.php" method="POST" onsubmit="return false;">
  2. <!-- 单行文本框 -->
  3. <div>
  4. <label for="username">账号:</label>
  5. <input type="text" name="username" value="lisi" />
  6. </div>
  7. <button>提交</button>
  8. <!-- 重置不是清空,是恢复到默认值 -->
  9. <button type="reset">重置</button>
  10. <!-- 不想提交,想自定义提交验证的规则,例如异步ajax提交 -->
  11. </form>

7、hidden隐藏域的样式表单

hidden属性可以创建一个隐藏域,数据会被隐藏起来,用户无法对其进行操作(这些数据通常是用户不关心的但是必须被提交 的数据)

8、file上传文件的样式表单

该表单允许用户上传自己的文件,例如用户上传自己的图像给服务器,用来改变用户在不同网站上的形象图片。需要注意的 是,当使用file样式的表单时,必须在<form>标签中说明编码方式,这样服务器才可以接收到正确信息

  1. <form action="check.php" method="POST" name="myFile" enctype="multipart/form-data">
  2. <input type="file" name="uploadfile">
  3. </form>

三、textarea对象的表单

该对象就像是input对象中的text表单,只不过是扩展过的text样式表单,可以通过行(rows)属性和列(cols)属性来编辑文本域的大 小,常见于留言板、论坛中回帖时的文本框等

<form action="check.php" method="POST" >
<textarea name="some" rows=10 cols=50 value="say">请文明用语:</textarea>
</form>

textarea属性标签必须要封闭,且生成页面时在文本框中会预先设置好文本“请文明用语”,但是用户不得不先删去预先的文本再 编辑自己的内容。当文本框中输入的内容超出预先设置的行数时会自动出现滚动条,如果没有超出文本框的范围则滚动条是灰色的

四、select对象表单

使用select将创建一个列表样式的表单,显示为出现一个下拉列表框,令用户可以方便的选择其中一个目录,通常在一些要求填 写地区、生日等信息中,设计者可以给使用者准备好选项,需要使用<option>标签来定义可供选择的每一项

  1. <form action="check.php" method="POST">
  2. <div>
  3. <!-- 下拉列表,将变量名和多个值分开设置,由用户自己选择 -->
  4. <!-- name, value应该在一个标签内,但是select -->
  5. <select name="level">
  6. <option value="1">铜牌会员</option>
  7. <option value="2">银牌会员</option>
  8. <option value="3" selected>金牌会员</option>
  9. <option value="4">永久会员</option>
  10. </select>
  11. </div>
  12. </form>

用户可以通过下拉列表框选择一个“会员”,而这个数据会被表单发送到服务器,此外还可以通过value属性为每一个option指定不 同的值,这样的话value设置的值将取代option的文本内容。注意如果设计者希望预先设置初始值,那么在所希望的option中添加 selected=”selected”就可以了,如<option selected="selected">金牌会员</option>,否则默认初始值应该是第一个出现的<option> 的文本内容。

b.自定义下拉列表

  1. <form action="check.php" method="POST">
  2. <div>
  3. <label for="">搜索关键字:</label>
  4. <input type="search" name="search" list="keywords" / >
  5. <datalist id="keywords">
  6. <option value="html">html</option>
  7. <option value="css">css</option>
  8. <option value="js">js</option>
  9. <option value="php">php</option>
  10. </datalist>
  11. </div>
  12. </form>

五、表单域集合

如果表单的项目过多或为了修饰表单部分,可以通过使用表单域将表单分组,表单域的代码由<fieldset>标签和<legend>标签组 合而成,默认情况下,<fieldset>标签勾画出表单域的框形,<legend>标签的对象像标题一样出现在框的左上角

  1. <form action="check.php" method="POST" style="display: grid;gap:0.5em" onsubmit="return false;">
  2. <fieldset>
  3. <legend>必填项</legend>
  4. <!-- 单行文本框 -->
  5. <div>
  6. <label for="username">账号:</label>
  7. <input
  8. type="text"
  9. id="username"
  10. name="username"
  11. placeholder="不少于8位"
  12. required
  13. autofocus
  14. value="lisi"
  15. />
  16. </div>
  17. <div>
  18. <label for="psw">密码:</label>
  19. <input type="password" id="psw" name="psw" placeholder="不少于6位" required />
  20. </div>
  21. </fieldset>
  22. </form>

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 这篇文章主要为大家了ajax实现提交时校验方法,文中示例代码非常,具有一定参考价值,感兴趣小伙伴们可以参考一下
    在前面文章《PHP随机取一算法(一)》中,我们为大家简了PHP取一算法面试问题。下面我们继续结合之前,给大家讲解PHP取一算法。
    这篇文章主要html随意拖动位置两种实现方式,文中通过示例代码非常,对大家学习或者工作具有一定参考学习价值,需要朋友们下面随着小编来一起学习学习吧
    在前面一节我们了反射机制反射机制,本节我们将通过反射获取类属性、方法等信息。有需要朋友可以一起看看。
    上篇文章给大家了《PHP中我们如何自定义匹配手机号正则达式?(附代码)》,本文继续给大家如何使用正则替换方式实现清除字符串中所有HTML标签?(
    之前文章《如何使用html制作一个简洁提交(代码解)》中,给大家了怎样使用html制作一个。下面本篇文章给大家怎样使用css设置背景色渐变呢,我们一起看看怎么做。
    本篇文章给大家一下Angular中。有一定参考价值,有需要朋友可以参考一下,希望对大家有所帮助。
    下面由Laravel教程栏目给大家Laravel Facade 解读,希望对需要朋友有所帮助!大家好,今天带来是 Laravel Facade 机制实现原理。
    文件读取操作了解了不少,下面我们来了解一下文件写入操作,一下覆盖写入(将文件原有清空,然后重新添加数据)。下面我们会通过代码示例来给大家
    一般认为媒体查询是CSS3新增,实际上CSS2已经存在了,CSS3新增了媒体属性和使用场景(IE8-浏览器不支持)。本文将媒体查询
    今天我们来看看Redis.conf配置项都有什么作用,想用好一个工具,配置是基础。Redis教程栏目将带大家,有需要朋友可以参考参考。
    这篇文章主要了Javaweb使用getPart接收文件过程解析,文中通过示例代码非常,对大家学习或者工作具有一定参考学习价值,需要朋友可以参考下
    这篇文章主要了linux swap交换存扩方法,文中通过示例代码非常,对大家学习或者工作具有一定参考学习价值,需要朋友们下面随着小编来一起学习学习吧。
    是一个有序列,以节点方式链式存储信息,但节点不一定连续,每一个节点包括data域和next域。java基础教程栏目在本文将,有需要朋友可以看看。
    MySQL查询语句有多种方法,自然其基本操作就有多种方式,查询、约束条件、分组、过滤、去重等等,栏目今天带大家,有需要朋友可以收藏一下。
    CSS :placeholder-shown伪类是专门用于确定元素是否显示占位符对象,主要使用它来检查input是否为空。
    在之前文章中给大家带来了《PHP中switch语句怎样使用(实例解析)》,这篇文章中了PHPswitch语句基本和实例解,今天继续来看一下PHP中最重要数据类型之一数组。
    本文一个简Raft实现。