HTML表单

  • HTML 表单是一个包含表单元素的区域,用于搜集不同类型的用户输入。

创建表单

<form> 标签用于创建 HTML 表单,常见的表单格式为:

<form name="" method="" action=""></form>
  • name:定义表单的名字。
  • method:定义表单结果从浏览器传送到服务器的方式,默认参数为:getpost安全性更高,因此常用作传输密码,而get安全性较低,一般用于查询数据。
  • action:发送数据要去的地址。它的值必须是一个有效的URL,可以是相对URL也可以是绝对URL。如果没有提供此属性或者action="#",则数据将被发送到包含表单的页面的URL。

插入表单对象

  • 网页中的表单由许多不同的表单元素组成,这些表单元素包括文字字段、单选按钮、复选框、按钮等。
文字字段
  • 在网页中最常见的表单元素就是文字字段,用户可以在文字字段内输入字符或者单行文本。 语法:
<input
  type="text"
  name="控件名称"
  value="文字字段的默认取值"
  size="控件的长度"
  maxlength="最长字符数"
/>

该语法包含了许多参数,除了 type 参数以外,其他的参数都是可选的,大家可以自行选择。举个例子:

<form name="个人资料" methon="post" action="">
    姓名:<input type="text" name="name" size="20"/><br />
    年龄:<input type="text" name="age" size="40" value="10" maxlength="3"/>
</form>
密码输入框
  • 密码输入框是一种特殊的文字字段,他的各个属性和文字字段是相同的,但是输入进密码输入框的字符全部是“*”表示,保证周围人看不见输入的文本。
<input type="password" name="pwd" />
单选按钮
  • 单选按钮可以使用户从选择列表中选择一个选项。
<form name="formBox" method="post" action="">
  <input type="radio" name="sex" value="male" checked />男<br />
  <input type="radio" name="sex" value="female" />女
</form>

几个单选按钮可以连接在一起,只需要把它们的 name 值设置为相同的。同一组中只有一个按钮可以同时被选。如果没有选中任何一个,那么整个单选按钮池就被认为处于未知状态,且不会随表单提交。 可以尝试如果 name 不相同或者没有 name 会是什么情况。

复选框
  • 复选框可以让用户从一个选项列表中选择超出一个的选项。
<input type="checkbox" name="travel" />旅游<br />
<input type="checkbox" name="sing" />唱歌<br />
<input type="checkbox" name="playgame" />打游戏<br />

复选框可以拥有自己的名字,并不需要属于一个组。

按钮
  • HTML 表单中,有三种按钮:提交按钮,重置按钮,匿名按钮。我们可以使用 <button> 元素或者 <input> 元素来创建一个按钮。type 属性的值指定显示什么类型的按钮。
提交按钮
  • 用于发送表单数据给服务器。
    语法:
<button type="submit">
    This a submit button<!--按钮名字-->
</button>
<!--or-->
<input type="submit" value="This a submit button" />
重置按钮

重置按钮用来清除用户在页面中输入的信息。
语法:

<form name="formBox" method="post" action="">
  <input type="text" />
  <button type="reset">
    This a reset button
  </button>

  <!--or-->

  <input type="reset" value="This is a reset button" />
</form>
匿名按钮(button)

没有自动生效的按钮,但是可以使用javaScript代码进行定制。如果你省略了type属性,那么这就是默认值。
语法:

<button type="button">
  This a anonymous button
</button>

<!--or-->
<button>
  This a anonymous button
</button>

<!--or-->
<input type="button" value="This is a anonymous button" />

不管使用的是 <button>元素还是<input> 元素,按钮的行为都是一样的。它们的不同点在于:

  • 从前面的例子中也可以看出 <button> 元素允许你使用 HTML 内容作为其标记内容,但 <input> 元素只接受纯文本内容。
  • 使用 <button> 元素,可以有一个不同于按钮标签的值(通过将其设置为 value 属性)。(但是在 IE 8 之前的版本中是不行的)。

菜单和列表

菜单和列表主要是用来选择给定答案中的一种,这类选择中往往答案比较多。

下拉菜单

下拉菜单能够节省页面空间,正常状态下显示一个选项,单击展开所以选项。

<form name="formBox" method="post" action="">
  <select name="select">
    <option value="成都">成都</option>
    <option value="广州">广州 </option>
    <option value="四川">四川</option>
    <option value="上海">上海</option>
  </select>
</form>

注意:下拉菜单的宽度是由 <option> 标记中包含的最长文本的宽度决定的。

列表项

在页面中列表项可以显示出几条信息,一旦超出这个信息量,在列表项右侧会出现滚动条,拖动滚动条可以看到所有选项。

<form name="formBox" method="post" action="">
  <select name="select" size="2" multiple="multiple">
    <option value="成都">成都</option>
    <option value="广州">广州 </option>
    <option value="四川">四川</option>
    <option value="上海">上海</option>
  </select>
</form>

size="2"表示一次显示 2 条数据

文本域

当用户想要填入多行文本时,就应该使用文本域而不是文本字段。文本域使用 <textarea> 标记。

<form name="formBox" method="post" action="">
  留下您的联系方式:
  <textarea name="textarea" cols="35" rows="5"></textarea>
</form>

clos 代表列数,rows 代表行数。

挑战:表单综合案例

image.png

源码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>表单综合案例</title>
    </head>
    <body>
        <form action="" method="get">
            <p>姓名:<input type="text" /></p>

            <p>密码:<input type="text" /></p>

            <p>
                性别:
                <input type="radio" name="sex" value="male" />男
                <input type="radio" name="sex" value="female" />女
            </p>
            
            <p>
                爱好:
                <input type="checkbox" name="sing" />唱歌
                <input type="checkbox" name="run" />跑步
                <input type="checkbox" name="swim" />游泳
            </p>
            <p>
                照片:
                <input type="file" name="person_pic" />
            </p>
            <p>
                个人描述:
                <textarea name="textarea"></textarea>
            </p>
            <p>
                籍贯:
                <select name="select">
                    <option value="成都">成都</option>
                </select>
            </p>
            <p>
                <button type="submit">提交</button>
                <button type="reset">重置</button>
            </p>   
        </form>
    </body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,076评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,658评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,732评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,493评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,591评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,598评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,601评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,348评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,797评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,114评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,278评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,953评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,585评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,202评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,180评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,139评论 2 352