1.HTML中表单元素的基本概念

HTML表单是HTML元素中较为复杂的部分,表单往往和脚本,动态页面,数据处理等功能相结合,因此是制作动态网站很重要的内容.

表单一般用来收集用户的输入信息

2.表单工作原理

访问者在浏览有表单的网页时,可填写必需的信息,然后按某个按钮提交,这些信息通过网络传送到服务器上.

服务器上专门的程序对这些数据进行处理,如果有错误会返回错误信息,并要求纠正错误.当数据完整无误后,服务器反馈一个输入完成的信息

3.表单的功能

功能:表单用于向服务器传输数据,从而实现用户与WEB服务器的交互

表单能够包含input系统标签,比如文本字段,复选框,单选框,提交按钮等

表单还可以包含textarea,select,fieldset,label标签.

4.表单的常用类型及说明

1.表单常用的类型有:

text            文本输入框
password 密码输入框
radio 单选框
checkbox 多选框
button 提交按钮
file 提交文件,from表单需要加上属性enctype=multipart/form-data

2.表单属性

name:   表单提交项的键,是和服务器通信时使用的名称
value:表单提交项的值,对于不同的输入类型,value属性的用法也不同

3.文本输入框(text)

当用户要在表单中输入字母,数字内容时,就会用到文本域

代码如下:

<form>
<p>姓名:<input type="text" name="username" placeholder="用户名"></p>
<p>密码:<input type="password" name="password" values="567"></p>
</form>

注意,表单本身并不可见.同时,在大多浏览器中,文本域的缺省宽度是20个字符.

在密码域中输入的字符,浏览器将使用项目符号来代替这些字符.

4.单选按钮(radio)

当用户从若干给定的选择中选取一个选项时,就会用到单选框.

代码如下:

<form>
<p>性别:<input type="radio" name="sex" value="male">男
<input type="radio" name="sex" value="female">女</p>
</form>

用户只能从众多选择中选取一个选项.

当用户点击一个单选按钮时,该按钮会变为选中状态,其他所有按钮会变为非选中状态.

5.复选框(checkboxes)

当用户需要从若干给定的选择中选取一个或多个选项时,就会用到复选框

代码如下:

<form>
<p>爱好:<input type="checkbox" name="hobby" value="baskerball">basketball
<input type="checkbox" name="hobby" value="football">football
<input type="checkbox" name="hobby" value="table tennis">table tennis</p>
</form>

用户一次可以选择多个选项.

6.重置按钮(reset)

重置按钮会清除当前页面上的用户输入的所有数据,把当前页面恢复到打开时的样子.

代码如下:

<form>
<p><input type="reset"></p>
</form>

7.提交按钮

会在当前页面生成一个提交按钮,用户点击此按钮,浏览器就会把当前页面用户输入的数据传送到服务端

代码如下:

<form>
<p><input type="button" value="按钮"/></p>
</form>

8.提交文件

当需要把客户端的文件发送到服务端时,需要用到提交文件按钮

代码如下:

<form action="/index/" method="post">
<p><input type="file"/></p>
</form>

上传文件注意两点:

请求方式必须是post

enctype="multipart/form-data"

9.下拉菜单

当需要用户从很多选项中选择一个或多个选项时,也可以使用下拉列表.

代码如下:

<form>
<p>籍贯<select name="籍贯">
<option value="hebei">河北省</option>
<option value="hubei">湖北省</option>
<option value="henan">河南省</option>
<option value="hunan">湖南省</option></select></p>
</form>

这样的下拉列表,用户只能从其中选择一个选项,当需要用户选择两个或以下时,可以添加参数来进行控制.

代码如下:

<form>
<p>籍贯<select name="籍贯" size="2" multiple="multiple">
<option value="hebei">河北省</option>
<option value="hubei">湖北省</option>
<option value="henan">河南省</option>
<option value="hunan">湖南省</option>
</select></p>
</form>

还可以在OPTION中添加selected="selected"选项来设置默认值.

10.表单属性

action:表单提交到哪,一般指向服务端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理
method:表单的提交方式,post或者get,默认为get

1.action属性的说明:

action属性定义在提交表单时执行的动作
向服务器提交表单的通常做法是使用提交按钮
通常,表单会被提交到web服务器上的网页,
表单的动作属性定义了目的文件的文件名,由动作属性定义的这个文件通常会对接收到的输入数据进行相关的处理

使用action选项来指定服务端的脚本来处理被提交的表单

<form action="/index/" method="post">

如果省略action属性,则action会被设置为当前页面

2.method属性的说明:

method属性规定在提交表单时所用的http方法(POSTGET)

<form action="/index/" method="post">

<form action="/index/" method="get">

3.get方法或post方法的使用方式说明:

如果表单提交是被动的(比如搜索引擎查询),并且没有敏感信息.

当使用get方法时,表单的数据在页面地址栏中是可见的

因此,get最适合少量数据的提交,浏览器会设定容量限制

如果表单正在更新数据,或者包含敏感信息(比如密码)时应该使用post,post的安全性更好.

因为在页面地址栏中被提交的数据是不可见的.

HTML中的表单的更多相关文章

  1. AngularJS中的表单验证

    AngularJS中的表单验证 AngularJS自带了很多验证,什么必填,最大长度,最小长度...,这里记录几个有用的正则式验证 1.使用angularjs的表单验证 正则式验证 只需要配置一个正则 ...

  2. MVC中处理表单提交的方式(Ajax+Jquery)

    MVC中处理表单有很多种方法,这里说到第一种方式:Ajax+Jquery 先看下表单: <form class="row form-body form-horizontal m-t&q ...

  3. angular中的表单验证

    angular中的表单验证很强大, 一共有5中验证信息,$valid,$invalid,$pristine,$dirty,$error. $valid-----当验证通过的时候,为true,不通过的时 ...

  4. MVC中Form表单的提交

    概述 Web页面进行Form表单提交是数据提交的一种,在MVC中Form表单提交到服务器.服务端接受Form表单的方式有多种,如果一个Form有2个submit按钮,那后台如何判断是哪个按钮提交的数据 ...

  5. Excel中的表单控件和active控件

    EXCEL中有两种控件:表单控件和active控件 表单控件是excel5和excel95开始使用的,从excel97开始,active控件开始出现 关于表单控件和active控件的区别和使用范围,网 ...

  6. YII中的表单挂件

    利用助手(widget)在页面实现表单 控制器中 <?php class YiiFormController extends Controller { public function actio ...

  7. django中form表单的提交:

    一,关于表单: 表单在百度百科的解释:   表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域 ...

  8. 使用js控制表单重复提交(1加锁,2事件方式,3 EasyUI中解决表单重复提交)

    方法一. var flag = true; $(function() { $("#interested").click(function() { beInterested(); } ...

  9. flask 在视图函数中验证表单

    在视图函数中验证表单 因为现在的basic_form视图同时接受两种类型的请求:GET请求和POST请求.所以我们要根据请求方法的不同执行不同的代码.具体来说,首先是实例化表单,如果是GET请求,就渲 ...

  10. flask 在模板中渲染表单

    在模板中渲染表单 为了能够在模板中渲染表单,我们需要把表单类实例传入模板.首先在视图函数里实例化表单类LoginForm,然后再render_template()函数中使用关键脑子参数form将表单实 ...

随机推荐

  1. CTF---Web入门第十二题 程序逻辑问题

    程序逻辑问题分值:20 来源: 实验吧 难度:中 参与人数:6909人 Get Flag:1993人 答题人数:2070人 解题通过率:96% 绕过 解题链接: http://ctf5.shiyanb ...

  2. POJ 3278 Catch That Cow(BFS,板子题)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 88732   Accepted: 27795 ...

  3. android下载管理、理财、浏览器、商品筛选、录音源码等

    Android精选源码 android仿美拍直播的点赞动画   android视频播放器完美切换全屏.小窗口源码   android类似随手记理财类源码   android简单浏览器源码   andr ...

  4. Proxy 那点事儿

    ---恢复内容开始--- 尊重原创:https://my.oschina.net/huangyong/blog/159788 Proxy,也就是"代理"了.意思就是,你不用去做,别 ...

  5. CentOS 6.*通过yum安装 MySQL-5.5

    转自https://www.cnblogs.com/wsl222000/p/5445768.html 1.安装mysql-5.5的yum源 rpm -ivh http://repo.mysql.com ...

  6. 关于STM32驱动DS1302实时时钟的一点思考

    之前用51驱动过DS1302,没用多久就输出了正确的时间.当时以为这块芯片其实没啥,很简单.但是现在用STM32做项目,用到同样的芯片,以为这有何难,只要把那个程序拿过来复制黏贴改一下IO设置不就行了 ...

  7. vue-router自动判断左右翻页转场动画

    前段时间做了一个移动端spa项目,技术基于 :vue + vue-router + vuex + mint-ui 因为使用了vue-cli脚手架的webpack模版,所有页面都以.vue为后缀的文件作 ...

  8. 解决Sublime Text 3在GBK编码下的中文乱码问题听语音

    Sublime Text 3是我最喜欢的代码编辑器,没有之一,因为她的性感高亮代码配色,更因为它的小巧,但是它默认不支持GBK的编码格式,因此打开GBK的代码文件,如果里面有中文的话,就会乱码 工具/ ...

  9. 织梦DEDE网站后台如何上传附件

    如题,织梦DEDE网站后台如何上传附件?今天本人遇到这样的问题,在网站后台里点击一番后,成功上传了一个pdf文件和doc文件,特来分享经验. 工具/原料 织梦dede网站 doc文件 方法/步骤 1 ...

  10. label+input实现开关切换效果

    Document 主要使用label+input来实现改变left的值,下面是核心代码,意思就是选中的input的兄弟节点.box下的.switch-btn元素的left会变成0px(原来是-37px ...