# HTML 表单和输入 **HTML 表单用于搜集不同类型的用户输入。** ## 实例 [文本域 (Text field)](/tiy/t.asp?f=html_inputfields) ``` &lt;html&gt; &lt;body&gt; &lt;form&gt; 名: &lt;input type="text" name="firstname"&gt; &lt;br /&gt; 姓: &lt;input type="text" name="lastname"&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; ``` [密码域](/tiy/t.asp?f=html_passwordfields) ``` &lt;html&gt; &lt;body&gt; &lt;form&gt; 用户: &lt;input type="text" name="user"&gt; &lt;br /&gt; 密码: &lt;input type="password" name="password"&gt; &lt;/form&gt; &lt;p&gt; 请注意,当您在密码域中键入字符时,浏览器将使用项目符号来代替这些字符。 &lt;/p&gt; &lt;/body&gt; &lt;/html&gt; ``` ([可以在本页底端找到更多实例](#more_examples)。) ## 表单 表单是一个包含表单元素的区域。 表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。 表单使用表单标签(&lt;form&gt;)定义。 ``` <form> ... input 元素 ... </form> ``` ## 输入 多数情况下被用到的表单标签是输入标签(&lt;input&gt;)。输入类型是由类型属性(type)定义的。大多数经常被用到的输入类型如下: ### 文本域(Text Fields) 当用户要在表单中键入字母、数字等内容时,就会用到文本域。 ``` <form> First name: <input type="text" name="firstname" /> <br /> Last name: <input type="text" name="lastname" /> </form> ``` 浏览器显示如下: <form action="" style="margin:10px 0 0 0;">First name: <input type="text" name="firstname" size="20"> Last name: <input type="text" name="lastname" size="20"></form> 注意,表单本身并不可见。同时,在大多数浏览器中,文本域的缺省宽度是20个字符。 ### 单选按钮(Radio Buttons) 当用户从若干给定的的选择中选取其一时,就会用到单选框。 ``` <form> <input type="radio" name="sex" value="male" /> Male <br /> <input type="radio" name="sex" value="female" /> Female </form> ``` 浏览器显示如下: <form action="" style="margin:10px 0 0 0;"><input type="radio" name="sex" value="male"> Male <input type="radio" name="sex" value="female"> Female</form> 注意,只能从中选取其一。 ### 复选框(Checkboxes) 当用户需要从若干给定的选择中选取一个或若干选项时,就会用到复选框。 ``` <form> <input type="checkbox" name="bike" /> I have a bike <br /> <input type="checkbox" name="car" /> I have a car </form> ``` 浏览器显示如下: <form action="" style="margin:10px 0 0 0;"><input type="checkbox" name="bike" value="ON"> I have a bike <input type="checkbox" name="car" value="ON"> I have a car</form> ## 表单的动作属性(Action)和确认按钮 当用户单击确认按钮时,表单的内容会被传送到另一个文件。表单的动作属性定义了目的文件的文件名。由动作属性定义的这个文件通常会对接收到的输入数据进行相关的处理。 ``` <form name="input" action="html_form_action.asp" method="get"> Username: <input type="text" name="user" /> <input type="submit" value="Submit" /> </form> ``` 浏览器显示如下: <form name="input" action="html_form_action.asp" method="get" style="margin:10px 0 0 0;">Username: <input type="text" name="user" size="20"> <input type="submit" value="Submit"></form> 假如您在上面的文本框内键入几个字母,然后点击确认按钮,那么输入数据会传送到 "html_form_action.asp" 的页面。该页面将显示出输入的结果。 ## 更多实例 [复选框](/tiy/t.asp?f=html_checkboxes) ``` &lt;html&gt; &lt;body&gt; &lt;form&gt; 我喜欢自行车: &lt;input type="checkbox" name="Bike"&gt; &lt;br /&gt; 我喜欢汽车: &lt;input type="checkbox" name="Car"&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; ``` [单选按钮](/tiy/t.asp?f=html_radiobuttons) ``` &lt;html&gt; &lt;body&gt; &lt;form&gt; 男性: &lt;input type="radio" checked="checked" name="Sex" value="male" /&gt; &lt;br /&gt; 女性: &lt;input type="radio" name="Sex" value="female" /&gt; &lt;/form&gt; &lt;p&gt;当用户点击一个单选按钮时,该按钮会变为选中状态,其他所有按钮会变为非选中状态。&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; ``` [简单的下拉列表](/tiy/t.asp?f=html_dropdownbox) ``` &lt;html&gt; &lt;body&gt; &lt;form&gt; &lt;select name="cars"&gt; &lt;option value="volvo"&gt;Volvo&lt;/option&gt; &lt;option value="saab"&gt;Saab&lt;/option&gt; &lt;option value="fiat"&gt;Fiat&lt;/option&gt; &lt;option value="audi"&gt;Audi&lt;/option&gt; &lt;/select&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; ``` [另一个下拉列表](/tiy/t.asp?f=html_dropdownbox2) ``` &lt;html&gt; &lt;body&gt; &lt;form&gt; &lt;select name="cars"&gt; &lt;option value="volvo"&gt;Volvo&lt;/option&gt; &lt;option value="saab"&gt;Saab&lt;/option&gt; &lt;option value="fiat" selected="selected"&gt;Fiat&lt;/option&gt; &lt;option value="audi"&gt;Audi&lt;/option&gt; &lt;/select&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; ``` [文本域(Textarea)](/tiy/t.asp?f=html_textarea) ``` &lt;html&gt; &lt;body&gt; &lt;p&gt; This example cannot be edited because our editor uses a textarea for input, and your browser does not allow a textarea inside a textarea. &lt;/p&gt; &lt;textarea rows="10" cols="30"&gt; The cat was playing in the garden. ``` [创建按钮](/tiy/t.asp?f=html_button) ``` &lt;html&gt; &lt;body&gt; &lt;form&gt; &lt;input type="button" value="Hello world!"&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; ``` [Fieldset around data](/tiy/t.asp?f=html_fieldset) ``` &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;body&gt; &lt;form&gt; &lt;fieldset&gt; &lt;legend&gt;健康信息&lt;/legend&gt; 身高:&lt;input type="text" /&gt; 体重:&lt;input type="text" /&gt; &lt;/fieldset&gt; &lt;/form&gt; &lt;p&gt;如果表单周围没有边框,说明您的浏览器太老了。&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; ``` ### 表单实例 [带有输入框和确认按钮的表单](/tiy/t.asp?f=html_form_submit) ``` &lt;html&gt; &lt;body&gt; &lt;form action="/example/html/form_action.asp" method="get"&gt; &lt;p&gt;First name: &lt;input type="text" name="fname" /&gt;&lt;/p&gt; &lt;p&gt;Last name: &lt;input type="text" name="lname" /&gt;&lt;/p&gt; &lt;input type="submit" value="Submit" /&gt; &lt;/form&gt; &lt;p&gt;请单击确认按钮,输入会发送到服务器上名为 "form_action.asp" 的页面。&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; ``` [带有复选框的表单](/tiy/t.asp?f=html_form_checkbox) ``` &lt;html&gt; &lt;body&gt; &lt;form name="input" action="/html/html_form_action.asp" method="get"&gt; I have a bike: &lt;input type="checkbox" name="vehicle" value="Bike" checked="checked" /&gt; &lt;br /&gt; I have a car: &lt;input type="checkbox" name="vehicle" value="Car" /&gt; &lt;br /&gt; I have an airplane: &lt;input type="checkbox" name="vehicle" value="Airplane" /&gt; &lt;br /&gt;&lt;br /&gt; &lt;input type="submit" value="Submit" /&gt; &lt;/form&gt; &lt;p&gt;如果您点击 "Submit" 按钮,您将把输入传送到名为 html_form_action.asp 的新页面。&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; ``` [带有单选按钮的表单](/tiy/t.asp?f=html_form_radio) ``` &lt;html&gt; &lt;body&gt; &lt;form name="input" action="/html/html_form_action.asp" method="get"&gt; Male: &lt;input type="radio" name="Sex" value="Male" checked="checked"&gt; &lt;br /&gt; Female: &lt;input type="radio" name="Sex" value="Female"&gt; &lt;br /&gt; &lt;input type ="submit" value ="Submit"&gt; &lt;/form&gt; &lt;p&gt;如果您点击 "Submit" 按钮,您将把输入传送到名为 html_form_action.asp 的新页面。&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; ``` [从表单发送电子邮件](/tiy/t.asp?f=html_form_mail) ``` &lt;html&gt; &lt;body&gt; &lt;form action="MAILTO:someone@w3school.com.cn" method="post" enctype="text/plain"&gt; &lt;h3&gt;这个表单会把电子邮件发送到 W3School。&lt;/h3&gt; 姓名:&lt;br /&gt; &lt;input type="text" name="name" value="yourname" size="20"&gt; &lt;br /&gt; 电邮:&lt;br /&gt; &lt;input type="text" name="mail" value="yourmail" size="20"&gt; &lt;br /&gt; 内容:&lt;br /&gt; &lt;input type="text" name="comment" value="yourcomment" size="40"&gt; &lt;br /&gt;&lt;br /&gt; &lt;input type="submit" value="发送"&gt; &lt;input type="reset" value="重置"&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; ``` ## 表单标签 | 标签 | 描述 | | --- | --- | | [`<form>`](/tags/tag_form.asp) | 定义供用户输入的表单 | | [`<input>`](/tags/tag_input.asp) | 定义输入域 | | [`<textarea>`](/tags/tag_textarea.asp) | 定义文本域 (一个多行的输入控件) | | [`<label>`](/tags/tag_label.asp) | 定义一个控制的标签 | | [`<fieldset>`](/tags/tag_fieldset.asp) | 定义域 | | [`<legend>`](/tags/tag_legend.asp) | 定义域的标题 | | [`<select>`](/tags/tag_select.asp) | 定义一个选择列表 | | [`<optgroup>`](/tags/tag_optgroup.asp) | 定义选项组 | | [`<option>`](/tags/tag_option.asp) | 定义下拉列表中的选项 | | [`<button>`](/tags/tag_button.asp) | 定义一个按钮 | | `<isindex>` | 已废弃。由 `<input>` 代替。 |