HTML5的表单设计

使用过Delphi的程序员,对Form这个词应该比较熟悉。在Delphi中,Form被翻译为“界面、窗口”,作用是:为用户提供界面,供用户输入信息,向用户展示处理结果。

HTML5中也有Form,功能与Delphi中的Form差不多,用于接收用户输入,和服务器进行交互。不过HTML5中的Form,中文一般译为“表单”。

1、Web前端与Web后端的交互

Web前端,指浏览器上展示的HTML文件,以及HTML文件使用的CSS文件及JavaScript脚本。

Web后端,指运行在服务器上的,为Web前端提供服务的软件,Web后端也常常被称为Web服务器。

在HTML5中,Web前端与Web后端交互的流程一般如下:

(1)Web前端向Web后端发起HTTP请求;

(2)Web后端收到HTTP请求后,进行业务处理;

(3)Web后端向Web前端返回HTTP响应。

到目前为止,我们在HTML5中碰到的Web前端发起HTTP请求的方式有两种:

第1种:HTML页面通过<a>元素向用户提供超级链接,用户点击该链接时,会向服务器发起请求;

第2种:HTML页面通过表单为用户提供输入界面,用户提交表单时,会向服务器发起请求。

2、GET请求和POST请求

HTTP请求有八种,对Web前端开发者来说,最常用的是GET请求和POST请求。

GET请求:向Web后端请求指定的页面;GET请求携带的数据,以URL参数的形式提供;

POST请求:向Web后端提交数据,请求Web后端对数据进行处理;POST请求携带的数据,在请求消息体中提供。

在HTML5中,用户点击链接地址,Web前端向后端发起GET请求;

在HTML5中,用户提交表单,Web前端可以向后端发起GET请求,也可以发起POST请求。

说明:由于目前没有和后端服务器对接,为了便于对表单设计进行展示,下面的例子HTML文档,都是用GET请求来提交数据。

3、表单的主要元素

<form>元素:表示表单;

<input>元素:表单中的输入控件,输入控件可以是文本框、单选框、复选框、按钮等等;

<label>元素:表单中的标签控件;

<button>元素:表单中的按钮控件;

<select>与<option>元素:用于实现列表框和下拉菜单;

<textarea>元素:多行文本控件。

4、表单提交文本框的输入

下面是一个可以提交文本框输入的HTML文档:

<!DOCTYPE html><html> <head> <title>form001</title> <meta charset='utf-8' /> </head> <body> <form action='process.html' method='get'> <label>请输入您的姓名:</label> <input type='text' name='name' /> <br/> <input type='submit'/> </form> </body></html>

在浏览器中打开该HTML文档时,展示效果如下:

我们可以在文本框中输入信息,例如输入tom:

当我们点击“提交”按钮后,浏览器显示信息如下;

可以看到,数据被提交给process.html页面,并且附带了一个参数name,且值为我们输入的tom。

5、表单提交用户对单选框的选择

下面是一个可以提交单选框被选信息的HTML文档:

<!DOCTYPE html><html>    <head>        <title>form002</title>        <meta charset='utf-8' />    </head>    <body>        <form action='process.html' method='get'>            <label>性别:</label>            <br/>            男:<input type='radio' name='gender' value='male' />            女:<input type='radio' name='gender' value='female' />            <br/><br/>            <label>国籍:</label>            <br/>            中国:<input type='radio' name='nationality' value='Chinese' /> <br/>            美国:<input type='radio' name='nationality' value='American' /> <br/>            日本:<input type='radio' name='nationality' value='Japanese' /> <br/>            英国:<input type='radio' name='nationality' value='English' /> <br/>            其它:<input type='radio' name='nationality' value='Other' /> <br/>            <br/>            <input type='submit'/>        </form>    </body></html>

在浏览器中打开该HTML文档时,显示效果如下:

我们可以选择性别和国籍,例如我们选择“男”和“中国”:

当我们点击“提交”按钮后,浏览器显示信息如下:

可以看到,我们选择的信息被提交给process.html文件,并且附带了gender参数的值为male,nationality参数的值为Chinese。

6、表单提交用户对复选框的选择

下面是一个可以提交复选框被选信息的HTML文档;

<!DOCTYPE html><html> <head> <title>form003</title> <meta charset='utf-8' /> </head> <body> <form action='process.html' method='get'> <label>请选择您的业余爱好:</label> <br/> 美术:<input type='checkbox' name='hobby' value='Art' /> <br/> 足球:<input type='checkbox' name='hobby' value='Football' /> <br/> 唱歌:<input type='checkbox' name='hobby' value='Singing' /> <br/> 厨艺:<input type='checkbox' name='hobby' value='Cook' /> <br/> 其它:<input type='checkbox' name='hobby' value='Other' /> <br/> <br/> <input type='submit'/> </form> </body></html>

在浏览器中打开该HTML文档时,显示效果如下:

我们可以选择自己的业余爱好,例如我们选择足球、唱歌、厨艺:

当我们点击“提交”按钮后,浏览器显示信息如下:

可以看到,我们选择的信息被提交给process.html文件,并且附带了三个hobby参数,其值分别为Football,Singing和Cook。

7、表单提交用户对下拉菜单的选择

下面是一个可以提交下拉菜单被选信息的HTML文档;

<!DOCTYPE html><html>    <head>        <title>form004</title>        <meta charset='utf-8' />    </head>    <body>        <form action='process.html' method='get'>            <label>请选择您的学历:</label>            <br/>            <select name='education'>                <option value='primary_school'>小学</option>                <option value='junior_high_school'>初中</option>                <option value='senior_high_school'>高中</option>                <option value='college'>大学</option>            </select>            <br/><br/>            <label>请选择您的兴趣爱好:</label>            <br/>            <select name='hobby' multiple='true'>                <option value='Art'>美术</option>                <option value='Football'>足球</option>                <option value='Singing'>唱歌</option>                <option value='Cook'>厨艺</option>                <option value='Other'>其它</option>            </select>            <br/><br/>            <input type='submit'/>        </form>    </body></html>

在浏览器中打开该HTML文档时,显示效果如下:

我们可以单选我们的学历,也可以通过按下Shift 鼠标键多选我们的兴趣。例如我们选择“初中”学历,选择“美术”和“厨艺”两项爱好:

当我们点击“提交”按钮后,浏览器显示信息如下:

可以看到,我们选择的信息被提交给process.html文件,并且附带了education参数和两个hobby参数,education的值为junior_high_school,hobby的值为Art和Cook。

上面列举了几种控件的HTML5表单设计方法,其它的控件也大概差不多,把多个控件组合在同一个<form>元素中的方法也是相同的,这里就不再赘述了。

(0)

相关推荐

  • 测试能力培养之前端调试能力

    在现在这个H5流行的时代,作为测试人员不能仅仅依赖UI的反馈来确定问题,掌握前端调试的方法是分层测试技术中的最前端.理解.分析.定位前端工作原理,可以有效的提高测试效率并且准确提交缺陷报告. 本周在合 ...

  • 前端开发是什么?学前端开发需要学什么语言

    前端的本质就是通过一定的程序代码来实现用户界面的ui 交互.可以认为用户在终端所看到的和所操作的都属于前端,也就是说分为渲染页面和处理用户操作两块. 前端开发是创建Web页面或app等前端界面呈现给用 ...

  • Web前端开发如何提高技术水平!

    作为一个Web的前端工程师,怎样开始学习呢?在学习了HTML和css之后,我们应该做些什么呢?Web前端开发入门后,又该如何提高自己的前端开发技术?如为自学,根据个人学习消化能力确定每日学习数量,以下 ...

  • 前端和后端哪个工资高,哪个比较好学?

    首先在了解前端和后端薪资之前需要明确这两者分别是什么,在公司中起什么作用. Web前端: web前端开发主要是通过html.css.js.ajax.DOM等前端技术,实现网站在客服端的正确显示及交互功 ...

  • 表单是流程的载体和执行力保障,流程表单设计的7个基本原则 || 流程管理实践056

    有些企业重视流程梳理,但不重视流程表单的设计,结果有流程却得不到执行,或者执行不好,其实,表单是流程的载体,表单设计得水平直接可以体现一家公司精细化管理水平和执行力. 最近,流程管理实践微信群,有网友 ...

  • 中级Web教程:HTML5表单元素

    网络前端高薪的诱惑,学习门槛低,不管是学生党还是工作者,都渴望凭借自己的能力,空闲的时间,去学前端.也许是一种爱好,也许是一种想从事的工作.但它真的那么简单吗?现在,初级前端的工作,已接近饱和,并处于 ...

  • 中级Web教程:HTML5表单属性

    网络前端高薪的诱惑,学习门槛低,不管是学生党还是工作者,都渴望凭借自己的能力,空闲的时间,去学前端.也许是一种爱好,也许是一种想从事的工作.但它真的那么简单吗?现在,初级前端的工作,已接近饱和,并处于 ...

  • 名企实践:你设计的审批流程表单好用吗?

    总是听到很多用户抱怨,"请假怎么就这么难呢,要填这么多东西","费用报销申请单有些专业术语不知道什么意思,非得打电话找人问,要不然填错了被驳回重提,很浪费时间" ...

  • Thinkphp 表单验证规则

    'number'      => ':attribute必须是数字', 'integer'     => ':attribute必须是整数', 'float'       => ': ...

  • 施工/分包队伍如何管理?送上整套制度、流程表单!

    来源:豆丁施工 一.组织管理制度 1.分包单位现场负责人 必须常驻现场,履行组织管理职能.未经业主和总包方的批准不得随意更换,其间有事离开现场必须经总包方项目生产经理批准. 2.现场管理 必须设置专职 ...

  • 今日半价优惠活动仅限50名—表单

    中医指出:人如果中气不足,不能上贯于耳,就会耳聋耳鸣,这个道理学过几年医的都懂,看不好耳聋耳鸣根本原因就是补气方法不对. 中医的气虚之征,辩证特别困难: 有的人气虚是体质不佳,阳气不足; 有的人气虚是 ...

  • 高嘌呤肉食前10名,第一个大多数人没注意!预防痛风,必看这份表单

    但高尿素血症和痛风问题,其实早已悄悄潜入我们身边. 根据早前发布的<2021中国高尿酸及痛风白皮书>数据表明,近年来我国高尿酸血症呈明显上升和年轻化趋势. 高尿酸血症已经成为仅次于糖尿病的 ...

  • 美国认定土耳其曾对亚美尼亚进行种族屠杀。 土耳其媒体反手列出一个1800年以来美国种族屠杀的表单。

    共青团中央 发布时间:04-2917:53共青团中央 已关注 妙啊[赞] 美国认定土耳其曾对亚美尼亚进行种族屠杀. 土耳其媒体反手列出一个1800年以来美国种族屠杀的表单.