Form表单的使用

一、Form表单的使用场景

From表单是连接用户和数据的核心组件,一般运用在页面的登录注册

二、表单的语法以及常用属性

1.表单语法

<!--
    method 属性中规定如何发送表单数据;常用值:get | post
    action 属性表示向何处发送表单数据
-->
<form   method = "post" action = "#">
    <p>用户名:<input type = "text" name = "uaername" /></p>
    <p>密码:<input type = "password" name = "password"/></p>
    <p>
        <input type = "submit" name = "Submit" value = "提交"/>
        <input type = "reset" name = "Reset" value = "取消"/>
    </p>
</form>

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

2.input输入框语法以及常见属性

<!--
    type 属性填写元素类型
    name 属性为元素名称
    value 属性为元素的默认值
    <lable>标签 在表单中,文本内容一般用<lable>标签包裹
-->
<lable>姓名:</lable><input type = "text" name = "fname" value = "张三"/>
input使用效果呈现
input属性

三、表单各类标签元素

1.文本框 (text)

 <!--
    type="text" 设置为文本框 
    size 为文本框的长度
    maxlength 为文本框最多可输入的字符
 -->
<input type="text" name="userName" value="用户名" size="30" maxlength="20"/>

2.密码框 (password)

设置后密码框的内容为小黑点

 <!--
    type="password"  设置为密码框
    name 为密码框的名称
    size 为密码框的长度
-->
<input  type="password"  name="pass"  size="20" />

3.单选按钮 (radio)

注意:单选框name的值为一样,因为男女两个单选框为一个组

<!--
    type="radio" 设置为单选框
    value 为单选框的值
    checked 表示默认单选框的内容
-->
<input name="gen" type="radio" value="男"  checked  />男
<input name="gen" type="radio" value="女" />女
单选框

4.复选框 (checkbox)

注意:复选name的值为一样,因为几个复选框为一个组

<!--
    type="checkbox" 设置为复选框
    checked 表示默认复选的内容
-->
<input type="checkbox" name="interest" value="sports"/>运动
<input type="checkbox" name="interest" value="talk" checked />聊天
<input type="checkbox" name="interest" value="play"/>玩游戏
复选框

5.列表框 (select、option)

<!--
   select 表示列表框
   option 表示有每一个选项
   selected = "select"  表示默认选中的内容
-->
<select name="职业" id="" size="1">
    <option value="护士">护士</option>
    <option value="老师" selected = "select">老师</option>
    <option value="军人">军人</option>
</select>
复选框

6.按钮 (button、image、submit、reset)

<!--
    type="button" 设置为普通按钮
    type="image" 设置为图片按钮
    type="submit" 设置为提交按钮
    type="reset" 设置为重置按钮
    value 为按钮上显示的文字
-->
<input type="button" name="butButton" value="普通按钮"/>
<input type="image" name="imgButton" src="./image/btn.bmp">
<input type="submit" name="subButton" value="submit提交按钮">
<input type="reset" name="butReset" value="reset取消按钮">
按钮

7.多行文本域 (textarea)

<!--
    textarea 为多行文本域标签
    cols="x" 表示显示的行数
    rows="y" 表示显示的列数
-->
<textarea name="showText" id="" cols="30" rows="10">文本内容</textarea>
多行文本域

8.文件域 (file)

<!--
    type="file" 设置为文件域
    enctype="multipart/form-data"  为表单编码属性
-->
<form method="GET" action="#" enctype="multipart/form-data">
    <p>
        <input type="file" name="files">
        <input type="submit" name="upload" value="上传"/>
    </p>
</form>
文件域呈现效果

9.邮箱 (email)

注意:设置为邮件属性框后,会自动验证email地址格式是否正确

   <!--
        type="email" 设置为邮件属性
    -->
    <label>邮箱:</label><input type="email" name = "email">

10.网址 (url)

注意:设置为网址属性框后,会自动验证URL地址格式是否正确

    <!--
        type="url" 设置为网址属性
    -->
    <label>请输入你的网址:</label><input type="url" name="userUrl"/>

11.数字 (number)

     <!--
        type="number" 设置为数字框格式
        min 表示数字框允许的最小值
        max 表示数字框允许的最大值
        step 为合法的数字间隔,表示每增加或嫌少一次的单位间隔
    -->[图片上传中...(image.png-73ad9-1589282458339-0)]

    <label>请输入数字:</label><input type="number" name = "num" min="0" max="100" step="10"/>
数字框

12. 滑块 (range)

    <!--
        type="range" 设置为滑块框
        min 表示允许的最小值
        max 表示允许的最大值
        step 为合法的数字间隔
    -->
    <input type="range"  name="range1" min="0" max="10" step="2"/>
滑块

13.搜索框 (search)

    <!--
        type="search" 设置为搜索框
    -->
    <label>请输入搜索的关键字:</label><input type="search"  name="sousuo"/>

四、表单的高级属性

1.表单的隐藏域 (hidden)

定义:隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。
作用:当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上

    <!-- 
        type="hidden" 设置表单的隐藏域
    -->
    <input type="hidden" value="666" name="userid"/>

2.表单的只读和禁用 (readonly、disabled)

只读:要求某些数据可见但不能进行修改。
禁用:当使用者满足某个条件后才能使用,如只有同意注册协议后用户才能点击注册按钮。
技巧:W3C HTML5标准中,规定对于布尔类型的属性,属性值可以省略

    <!--
        readonly 属性设置文本只读
        disabled 属性设置文本禁用
    -->
    <input type="text" name="name" value="张三" readonly/>
    <input type="submit" value="提交" disabled>
只读文本框和禁用按钮

3.表单元素的标注 (lable)

用途:增强鼠标的可用性
点击lable标签包裹的内容时,自动将焦点转移到与该标注相关的表单元素上

   <!--
        1.id="xxx" 先设置input标签id元素
        2.for="xxx" 然后在lable标签里用for属性去找到对应的框的id
    -->
    <label for="male">标注的文本</label>
    <input type="radio" name="gender" id="male"/>
    <br/>

    <label for="userName">用户名:</label><input type="text" id="userName" name="userName" >
表单元素的标注

四、表单的初级验证

表单验证的好处:(1)减轻服务器的压力,避免服务器崩溃;(2)保证数据的可行性和安全性

1.文本输入框内容提示(placeholder)

(1)提示语默认显示,当文本框中输入内容时提示语消失
(2)适合于input标签:text,search,url,email和password等类型

    <!--
        placeholder = "text" 在text区域输入需要提示的文本即可
    -->
    <input type="search" name="find" placeholder="请输入要搜索的关键字"/>
文本框提示

2.必填项(required)

(1)规定文本框填写内容不能为空,否则不允许用户提交表单
(2)适合于input标签:text、search、url、email、password、number、checkbox、radio、file等类型

    <!--
        required 设置文本为必填
    -->
    <input type="text" name="username"  required/>

3.正则表达式 (pattern)

注意:规定文本框填写内容不能为空,否则不允许用户提交表单

    <!--
        required 设置文本必填
        pattern 设置文本符合正则表达式,第一位数字是1;第二位数字为3,5,8;后面为9位随意的data数字
    -->
    <label>电话号码:</label><input type="text" name="phone" required pattern="^1[358]\d{9}"/>

五、HTML语义化

1.html语义化

在使用html编程时,根据内容选择合适的标签(代码语义化),增加可读性与SEO(搜索引擎)。

2.为什么要语义化

(1)为了在没有CSS的情况下也能呈现出很好地内容结构、代码结构;
(2)提高用户体验;
(3)有利于SEO;
(4)方便其他设备渲染网页;
(5)便于团队开发和维护。

3.HTML语义化注意事项

(1)Html编码时要保持父子标签之间一个Tab键的缩进;
(2)在语义不明显时,既一个用于布局的div声明前后都有注释;
(3)尽可能少的使用无语义的可以使用div或者p时,尽量用p, 因为p在默认情况下有上下间距,对兼容特殊终端有利;
(4)不要使用纯样式标签,如:b、font、u等,改用css设置。
(5)需要强调的文本,可以包含在strong或者em标签中(浏览器预设样式),strong默认样式是加粗(不要用b),em是斜体(不用i);
(6)使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和一般单元格要区分开,表头用th,单元格用td;
(7)每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来

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