2019-03-21第六次课表单续

表单
一、 表单的基本应用
(一) 表单典型的应用场景

  1. 登录、注册
  2. 网上订单
  3. 调查问卷
  4. 网上搜索
    (二) 表单标签及表单属性
  5. 表单标签
    在HTML中,使用<form>标签来实现表单的创建,该标签用于在网页中创建表单区域,属于一个容器标签,其他表单标签需要在它的范围中才有效。
  6. 表单的属性
    action
    此属性指示服务器上处理表彰输出的程序。一般来说,当用户单击表单上的“提交”按钮后,信息发送到Web服务器上,由action属性所指定的程序处理。
    语法:action=”URL”
    如果action的属性为空,则默认表单提交到本页。
    method
    此属性告诉浏览器如何将数据发送给服务器,它指定服务器发送数据的方法(post还是get).
    如果是get,浏览器创建一个请求,该请求包含页面URL、一个问号和表单的值。浏览器会将该请求返回给URL指定的脚本,以进行处理。
    如果是post,表单上的数据会作为一个数据块发送到脚本,而不使用请求字符串。
    语法:method=get|post.
  7. 案例演示:简单的表单提交
    效果

核心代码
<FORM name="form1" method="get" action="result.html">
<P>名字:
<INPUT name="name" type="text" class="input" id="fname">
</P>
<P>密码:
<INPUT name="pass" type="password" class="input" id="pass">
</P>
<P>
<INPUT type="submit" name="Button" value="提交">
<INPUT type="reset" name="Reset" value="重填">
</P>
</FORM>

  1. get|post提交方式的总结
    post提交不会改变地址栏状态,表彰数据不会被显示
    get提交,地址栏状态会发生变量,表单数据会在URL中显示
    所以POST比GET安全。
    (三) 表单元素及其格式
  2. 表单元素
    在表单中添加表单元素,使用<input>标签
    语法
    <input type="text" name="fname" value="text">
    属性说明

属性 说明
type 指定元素的类型。text、password、checkbox、radio、submit、reset、file、hidden、image 和 button,默认为 text
name 指定表单元素的名称。
value 元素的初始值。type 为 radio时必须指定一个值
size 指定表单元素的初始宽度。当 type 为 text 或 password时,表单元素的大小以字符为单位。对于其他类型,宽度以像素为单位
maxlength type为text 或 password 时,输入的最大字符数
checked type为radio或checkbox时,指定按钮是否是被选中

  1. 文本框
    描述
    用于输入单行文本信息,如用户名输入框等。
    语法
    <input type="text" name="userName" value="用户名" size="30" maxlength="20" >
    属性说明

size与maxlength的区别,当没有设置maxlength时向文本框中输入内容没有限制,当设置maxlength时再向文本框中输入值将会有字符数的限制。上面代码显示,文本显示长度为30,允许输入的最多字符数为20.
即size是指文本框的长度,maxlength是指输入的数据长度。
案例演示

<form method="post" action="">
<P>名    字:
<input type="text" value="" name="fname">

</P>
<P>姓    氏:
<input type="text" name="lname" value="张" > </P>
<P>登录名:
<input type="text" name="sname" size="30" maxlength="20">
</P>
</form>

  1. 密码框
    描述
    用户希望输入的数据被处理,以名被他人利用,如密码。
    语法
    <input type="password " name="pass" size="20" >
    属性说明

type取值为password时为密码框,name属性是必须的,其他属性并不是必须的,实际开发中通常不设置value初始值
案例演示:密码

<form method="post" action="">
<P>用户名:<input name="name" type="text" size="21"> </P>
<P>密   码:
<input name="pass" type="password" size="22">
</P>
</form>
经验
密码框能保证输入数据的安全吗?
不能,密码框仅仅使周围的人看不见输入的符号,它不能保证输入数据安全。为了使数据安全,应该加强人为管理,采用数据加密码技术等。

  1. 单选框
    描述
    单选按钮用于一组相互排斥的值,组中的每个单选按钮应用具有相同的名称,用户一次只能选择一个选项。
    只有从组中选定的单选按钮才会在提交的数据中提交对应的数值
    在使用单选按钮时,需要一个显式的value属性值
    语法
    <input name="gen" type="radio" value="男" checked="checked" >男
    <input name="gen" type="radio" value="女" >女
    属性说明
  1. type取值为radio时为单选按钮,name和value属性是必须的,其他属性并不是必须的
  2. 同一组单选按钮,name属性值必须相同,才能在选中单选按钮时达到互斥
  3. 希望在页面加载时单选按钮有一个默认的选项,则必须使用checked属性,同一组单选按钮只能有一个默认的checked属性
    案例演示:单选按钮

<form method="post" action="">
性别:
<input name="gen" type="radio" class="input" value="男" checked="checked">男 
<input name="gen" type="radio" value="女" class="input">女
</form>

  1. 复选框
    描述
    复选框允许用户选择多个选项。
    语法
    <input type="checkbox" name="interest" value="sports">运动
    <input type="checkbox" name="interest" value="talk" checked="checked" >聊天
    <input type="checkbox" name="interest" value="play">玩游戏
    属性说明
  1. type取值为checkbox时为复选框,name和value属性是必须的,其他属性并不是必须的。
  2. 同一组复选框,根据需要可设置name属性值相同,也可不同
  3. 希望在页面加载时有默认选中的复选框,则必须使用checked属性,同一组复选框中允许有多个复选框有默认的checked属性。
  4. 一旦用户选中了某个复选框,在表单提交时,会将该复选框的name值和对应的value值一起提交。
    案例演示:复选框

<form method="post" action="">
爱好:
<input type="checkbox" name="interest" value="sports" checked="checked">运动  
<input type="checkbox" name="interest" value="talk"> 聊天  
<input type="checkbox" name="interest" value="play"> 玩游戏
</form>
技巧
复选框的名称要根据应用来确定名称是否相同。通常情况下,如果选项之间是并列关系,就需要设置为相同的名称,以便能够同时获取。例如,兴趣爱好,一个有多个兴趣爱好,这样筛选框设置相同名称,以便在提交数据时能够一次性得到所有选择的兴趣爱好选项。
否则,每个选项都需要单独进行读取,从而降低了效果。

  1. 列表框
    描述
    列表框主要是为了用户快速、方便、正确地选择一些选项,并且节省页面空间
    语法
    <select name="列表名称" size="行数">
    <option value="选项的值" selected="selected">…</option >
    <option value="选项的值">…</option >
    </select>
    <select>标签用户显示可供用户选择的下拉列表,每个选项由<option>来表示;
    <select>标签必须包含至少一个<option>标签。
    属性说明

name和value属性是必须的,其他属性并不是必须的。
size确定静静中可同时看到的行数;
selected默认选中,只能有一个选中项
案例演示:列表框

<form method="post" action="">
出生日期:
<input name="byear" value="yyyy" size="4" maxlength="4">  年
<select name="bmon" >
<option value="">[选择月份]</OPTION>
<option value="1">一月</option>
<option value="2">二月</option>
<option value="3">三月</option>
<option value="4">四月</option>
<option value="5">五月</option>
<option value="6">六月</option>
<option value="7">七月</option>
<option value="8">八月</option>
<option value="9">九月</option>
<option value="10" selected="selected">十月</option>
<option value="11">十一月</option>
<option value="12">十二月</option>
</select> 月 
<input name="bday" value="dd" size="2" maxlength="2" > 日
</form>

  1. 按钮
    描述
    按钮在表单中经常用到,在HTML中按钮分为3种,分别是普通按钮(button)、提交按钮(submit)和重置按钮(reset)。
    普通按钮主要用来响应onclick事件,提交按钮用来提交表单信息,重置按钮用来清除表单中已填信息。
    语法
    <input type=”button|reset|submit” name=”btn” value=”按钮”>
    name和value属性是必须的,其他属性并不是必须的。
    案例演示

<form method="post" action="">
<P>用户名:<input name="name" type="text"> </P>
<P>密    码:<input name="pass" type="password"></P>
<P>
<input type="reset" name="butReset" value="reset按钮">
<input type="submit" name="butSubmit" value="submit按钮">
<input type="button" name="butButton" value="button按钮" onclick="alert(this.value)">
</P>
</form>
图片按钮
<input type="image" src="images/login.gif" />

<input type="image" src="images/login.gif" />

  1. 多行文本域
    描述
    当需要在网页中输入两行或以上的文本时,前面学习的文本框及其他表单元素都不能满足要求,这就应该使用多行文本框,它使用的标签是<textarea>
    语法
    <textarea name="showText" cols="x" rows="y">文本内容 </textarea >
    语法说明

案例演示

<form method="post" action="">
<H4>填写个人评价 </H4>
<P>
<textarea name="textarea" cols="40" rows="6">
自信、活泼、善于思考...
</textarea>
</P>
</form>

  1. 文件域
    描述
    文件域的作用是用于实现文件的选择,在应用时只需要把type属性设置为”file”即可。
    在实际操作中,文件域通常用于文件上传的操作,如选择需要上传文本、图片等。
    语法
    <form action="" method="post" enctype="multipart/form-data">
    <p><input type="file" name="files" />
    <input type="submit" name="upload" value="上传" /></p>
    </form>
    语法说明
    (1) . type值为file
    (2) . 在表单中使用文件域时,必须设置表单的“enctype”编码属性为“multipart/form-data”,表示将表单数据分为多部分提交
    案例演示

<form action="" method="post" enctype="multipart/form-data">
<p><input type="file" name="files" /><br />
<input type="submit" name="upload" value="上传" /></p>
</form>
(四) 课堂作业

  1. 制作网易邮箱登录页面
    训练要求
    使用表格布局排版
    制作网页邮箱登录页面
    效果图

(五) 课后作业

  1. 阿里里巴巴用户注册页面
    需求说明
    (1) . 电子邮箱、登录名、密码最多能容纳的字符数是32个字符,验证码最多能容纳5个字符。
    (2) . 默认情况下会员身份中的“买家”处于选中状态。
    (3) . 提交按钮使用素材中提供的图片代替。
    效果图

二、 表单的高级应用
(一) 表单的隐藏域

  1. 描述
    有一些表单不需要在网页上显示,但后台服务器需要这些数据进行业务处理。比如用户的id。

  2. 语法
    <input type="hidden" value="666" name="userid">

  3. 语法说明
    将”type”属性设置为”hidden”

  4. 案例演示:隐藏域的提交
    需求说明
    在登录页面中使用隐藏域保存用户的userid信息。
    实现效果

参考代码
<form action="" method="get">
<p>用户名:<input name="name" type="text"></p>
<p>密  码:<input type="password" name="pwd"></p>
<p><input type="submit" value="提交"></p>
<p><input type="hidden" name="userid" value="1816203"></p>
</form>
提交

(二) 表单的只读与禁用设置

  1. 描述
    在某些情况下,需要对表单元素进行限制,即设置表单元素为只读或禁用。它们常见的应用场景如下:
    只读场景:网站服务器不希望用户修改的数据,这些数据在表单元素中显示,例如注册或交易协议、商品价格等
    禁用声景:只有满足某个条件后,才能选用某项功能。例如,只有用户同意注册协议后,才允许单击“注册”按钮;播放器控件在播放状态时,不能再单击“播放”按钮等。
  2. 语法
    只读:
    readonly=”readonly”
    禁用
    disabled=”disalbled”
  3. 案例演示:只读与禁用
    需求说明
    用户名只读,提交按钮禁用
    实现效果

核心代码
<form action="" method="get">
<p>用户名:<input name="name" type="text" value="张三" readonly="readonly"></p>
<p>密    码:<input type="password" name="pwd"></p>
<p><input type="submit" value="提交" disabled="disabled"></p>
<p><input type="hidden" name="userid" value="1816203"></p>
</form>
(三) 课堂练习

  1. 制作新浪微博资料修改页面
    需求说明
    (1) . 生日中各下拉列表默认为空。
    (2) . 常用邮箱文本框中的默认文本为“student@bdqn.cn”,且文本框不可修改。
    (3) . 提交按钮使用素材中提供的图片代替。
    实现效果

三、 语义化的表单
(一) 关于语义化
没有明确的定义,只是为了让搜索引擎更好的搜索到本网页和布局的美观,语义化显示得非常重要。
对比下面二个例子,一个是使用了语义化标签,一个是没有使用语义化标签。

  1. 未使用

效果图 代码
<table>
<tr>
<td>姓名</td>
<td>职务</td>
</tr>
<tr>
<td>张三</td>
<td>技术员</td>
</tr>
</table>

  1. 使用语义标签
    效果图 代码
    <table width="170">
    <caption> 岗位信息表</caption>
    <thead>
    <tr>
    <th>姓名</th>
    <th>职务</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>张三</td>
    <td>技术员</td>
    </tr>
    </tbody>
    </table>
    从上面的例子可以看出,语义化更符合表现的要求
    (二) 语义化表单
  2. 标签
    在表单中,可以使用<fieldset>标签实现域的定义,使用<legend>标签来实现域的标题。
    什么是域呢?简单地说就是将一组表单元素放到<fieldset>标签内,浏览器就会以特殊的方法来显示。
    通常<fieldset>标签和<legend>标签一起使用。
  3. 案例演示
    效果

核心代码
<form>
<fieldset>
<legend>用户信息</legend>
姓名:<input type="text" />
年龄:<input type="text"/>

手机:<input type="text" />
邮箱:<input type="text" />

</fieldset>
</form>
(三) 表单元素的标注

  1. 描述
    对表单元素进行标注,这样做的目的就是为了增强鼠标的可用性,这是因为使用表单元素标注时,在客户端呈现的效果不会有任何特殊的改进。但是如果当用户使用鼠标单击标注的文本内容时,浏览器会自动将焦点转移到与该标注相关的表单元素上。
  2. 语法
    <label for=”表单元素的id”>标注的文本</label>
  3. 案例演示
    实现效果

核心代码
<form>
请选择性别:
<label for="male">男</label>
<input type="radio" name="gender" id="male" />

<input type="radio" name="gender" id="female" />
</form>
(四) 课堂练习

  1. 制作调查问卷
    需求说明
    (1) . 使用语义化的标签制作调查问卷。
    (2) . 能够实现鼠标点击文本时,与文本对应的表单元素自动获得焦点。
    实现效果

四、 本章总结
(1) . 表单主要用来制作动态网页,方便和用户进行交互。
(2) . 常用的表单元素有文本框、密码框、单选按钮、复选框、列表框、按钮、多行文本框。
(3) . 使用<label>标签的for属性与表单元素的id属性相结合控制单击该标签时,对应的表单元素自动获得焦点或者被选中。
(4) . 表单元素的只读和禁用属性为readonly和disabled
(5) . 语义化的表单结构使得页面简洁、合理,同时也符合W3C开发标准、有利与被网络搜索引擎抓取。
五、 课后作业
(一) 申请表

  1. 需求
    (1) . 教育程度:默认选中硕士
    (2) . 国籍:有美国、澳大利亚、日本、新加坡,默认选中澳大利亚
  2. 实现效果

(一) 问卷调查表

  1. 需求
    (1) . 请输入您的购买日期:月份下拉选项为1-12月,日期下拉选项1-31日
    (2) . 你是否查看过我们的在线产品目录:默认选中“是”
  2. 实现效果
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容

  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,828评论 0 0
  • 这个序可能会有些长 先作个自我介绍,我是一名交互设计师,90后。我并不怎么喜欢编辑文章或写点什么,就是因为懒,所以...
    IxDKN阅读 10,987评论 16 160
  • 表单 一、 表单的基本应用 (一) 表单典型的应用场景 1. 登录、注册 2. 网上订单 3. 调查问卷 4. 网...
    拾起_518阅读 254评论 0 0
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,224评论 1 41
  • 引言 在日常开发Android中,很多时候会遇到和WebView打交道,对CSS HTML JS不是很清楚的话是完...
    张文靖同学阅读 2,828评论 0 11