On this page

HTML 表单

HTML 表单用于收集用户输入。用户输入通常被发送到服务器进行处理。


元素

HTML<form>元素用于创建用于用户输入的 HTML 表单:

<form>
.
*form elements*
.
</form>

元素<form>是不同类型输入元素的容器,例如:文本字段、复选框、单选按钮、提交按钮等。


<input> 元素

HTML<input>元素是最常用的表单元素。 元素<input>可以通过多种方式显示,具体取决于type 属性。


文本字段

定义<input type="text">了用于文本输入的单行输入字段。

例子

带有文本输入字段的表单:

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname">
</form>

注意:表单本身不可见。另请注意,输入字段的默认宽度为 20 个字符。


<label>请注意上面示例中元素的使用。 该<label>标签定义了许多表单元素的标签。 该<label>元素对于屏幕阅读器用户很有用,因为当用户聚焦于输入元素时,屏幕阅读器将大声读出标签。 该<label>元素还可以帮助那些难以单击非常小的区域(例如单选按钮或复选框)的用户 - 因为当用户单击元素内的文本时<label>,它会切换单选按钮/复选框。 for标签的属性应该<label>等于元素id的属性<input> 才能将它们绑定在一起。


单选按钮

定义<input type="radio">一个单选按钮。 单选按钮允许用户从有限数量的选项中选择一个。

例子

带有单选按钮的表单:

<p>Choose your favorite Web language:</p>

<form>
  <input type="radio" id="html" name="fav_language" value="HTML">
  <label for="html">HTML</label><br>
  <input type="radio" id="css" name="fav_language" value="CSS">
  <label for="css">CSS</label><br>
  <input type="radio" id="javascript" name="fav_language" value="JavaScript">
  <label for="javascript">JavaScript</label>
</form>

复选框

定义<input type="checkbox">一个复选框。 复选框允许用户从有限数量的选项中选择零个或多个选项。

例子

带有复选框的表单:

<form>
  <input type="checkbox" id="vehicle1" name="vehicle1" value="Bike">
  <label for="vehicle1"> I have a bike</label><br>
  <input type="checkbox" id="vehicle2" name="vehicle2" value="Car">
  <label for="vehicle2"> I have a car</label><br>
  <input type="checkbox" id="vehicle3" name="vehicle3" value="Boat">
  <label for="vehicle3"> I have a boat</label>
</form>

提交按钮

定义<input type="submit">一个用于将表单数据提交给表单处理程序的按钮。 表单处理程序通常是服务器上的一个文件,其中包含用于处理输入数据的脚本。 表单处理程序在表单的属性中指定action

例子

带有提交按钮的表单:

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit" value="Submit">
</form>

的名称属性

请注意,每个输入字段都必须有一个name要提交的属性。 如果name省略该属性,则根本不会发送输入字段的值。

例子

此示例不会提交“名字”输入字段的值:

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" value="John"><br><br>
  <input type="submit" value="Submit">
</form>

HTML<form>元素的不同属性。


动作属性

action属性定义提交表单时要执行的操作。 通常,当用户单击提交按钮时,表单数据会发送到服务器上的文件。 在下面的示例中,表单数据被发送到名为“action_page.php”的文件。该文件包含一个处理表单数据的服务器端脚本:

例子

提交时,将表单数据发送到“action_page.php”:

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit" value="Submit">
</form>

提示:如果action省略该属性,则操作将设置为当前页面。


目标属性

target属性指定在何处显示提交表单后收到的响应。 该target属性可以具有以下值之一:

ValueDescription
_blankThe response is displayed in a new window or tab
_selfThe response is displayed in the current window
_parentThe response is displayed in the parent frame
_topThe response is displayed in the full body of the window
framenameThe response is displayed in a named iframe
默认值_self意味着响应将在当前窗口中打开。
### 例子

在这里,提交的结果将在新的浏览器选项卡中打开:

<form action="/action_page.php" target="_blank">

方法属性

method属性指定提交表单数据时要使用的 HTTP 方法。 表单数据可以作为 URL 变量(使用method="get")或 HTTP post 事务(使用method="post")发送。 提交表单数据时默认的HTTP方法是GET。

例子

本例在提交表单数据时使用GET方法:

<form action="/action_page.php" method="get">

例子

本例在提交表单数据时使用POST方法:

<form action="/action_page.php" method="post">

GET 的注意事项:

  • 将表单数据以名称/值对的形式附加到 URL
  • 切勿使用 GET 发送敏感数据! (提交的表单数据在URL中可见!)
  • URL 的长度有限(2048 个字符)
  • 对于用户想要为结果添加书签的表单提交很有用
  • GET 适用于非安全数据,例如 Google 中的查询字符串

关于 POST 的注意事项:

  • 将表单数据附加到 HTTP 请求正文中(提交的表单数据不会显示在 URL 中)
  • POST没有大小限制,可以用来发送大量数据。
  • 使用 POST 提交的表单无法添加书签

提示:如果表单数据包含敏感或个人信息,请始终使用 POST!


自动完成属性

autocomplete属性指定表单是否应打开或关闭自动完成功能。 启用自动完成功能后,浏览器会根据用户之前输入的值自动完成值。

例子

具有自动完成功能的表单:

<form action="/action_page.php" autocomplete="on">

Novalidate 属性

novalidate属性是一个布尔属性。 如果存在,它指定提交时不应验证表单数据(输入)。

例子

具有 novalidate 属性的表单:

<form action="/action_page.php" novalidate>

本章描述所有不同的 HTML 表单元素。


HTML <form> 元素

HTML<form>元素可以包含以下一个或多个表单元素:

  • <input>
  • <label>
  • <select>
  • <textarea>
  • <button>
  • <fieldset>
  • <legend>
  • <datalist>
  • <output>
  • <option>
  • <optgroup>

<input> 元素

最常用的表单元素之一是<input>元素。 元素<input>可以通过多种方式显示,具体取决于type 属性。

例子

<label for="fname">First name:</label>
<input type="text" id="fname" name="fname">

<label> 元素

<label>元素定义了多个表单元素的标签。 该<label>元素对于屏幕阅读器用户很有用,因为当用户聚焦于输入元素时,屏幕阅读器将大声读出标签。 该<label>元素还可以帮助那些难以单击非常小的区域(例如单选按钮或复选框)的用户 - 因为当用户单击元素内的文本时<label>,它会切换单选按钮/复选框。 for标签的属性应该<label>等于元素id的属性<input> 才能将它们绑定在一起。


<select> 元素

<select>元素定义一个下拉列表:

例子

<label for="cars">Choose a car:</label>
<select id="cars" name="cars">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="fiat">Fiat</option>
  <option value="audi">Audi</option>
</select>

<option>元素定义了一个可以选择的选项。 默认情况下,选择下拉列表中的第一项。 要定义预选选项,请将selected属性添加到该选项:

例子

<option value="fiat" selected>Fiat</option>

可见价值:

使用该size属性指定可见值的数量:

例子

<label for="cars">Choose a car:</label>
<select id="cars" name="cars" size="3">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="fiat">Fiat</option>
  <option value="audi">Audi</option>
</select>

允许多项选择:

使用该multiple属性允许用户选择多个值:

例子

<label for="cars">Choose a car:</label>
<select id="cars" name="cars" size="4"multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="fiat">Fiat</option>
  <option value="audi">Audi</option>
</select>

<textarea> 元素

<textarea>元素定义了一个多行输入字段(文本区域):

例子

<textarea name="message" rows="10" cols="30">
The cat was playing in the garden.
</textarea>

rows属性指定文本区域中的可见行数。 该cols属性指定文本区域的可见宽度。 这是上面的 HTML 代码在浏览器中的显示方式: 您还可以使用 CSS 定义文本区域的大小:

例子

<textarea name="message" style="width:200px; height:600px;">
The cat was playing in the garden.
</textarea>

<button> 元素

<button>元素定义了一个可点击的按钮:

例子

<button type="button" onclick="alert('Hello World!')">Click Me!</button>

注意:始终指定type按钮元素的属性。不同的浏览器可能对按钮元素使用不同的默认类型。


<fieldset> 和 <legend> 元素

<fieldset>元素用于将相关数据分组到表单中。 该<legend>元素定义该元素的标题&nbsp;<fieldset>

例子

<form action="/action_page.php">
  <fieldset>
    <legend>Personalia:</legend>
    <label for="fname">First name:</label><br>
    <input type="text" id="fname" name="fname" value="John"><br>
    <label for="lname">Last name:</label><br>
    <input type="text" id="lname" name="lname" value="Doe"><br><br>
    <input type="submit" value="Submit">
  </fieldset>
</form>

<datalist> 元素

<datalist>元素指定元素的预定义选项列表<input>。 用户输入数据时将看到预定义选项的下拉列表。 list元素的属性,<input>必须引用 元素id的属性<datalist>

例子

<form action="/action_page.php">
  <input list="browsers">
  <datalist id="browsers">
    <option value="Edge">
    <option value="Firefox">
    <option value="Chrome">
    <option value="Opera">
    <option value="Safari">
  </datalist>
</form>

<output> 元素

<output>元素表示计算的结果(如脚本执行的结果)。

例子

执行计算并在元素中显示结果<output>

<form action="/action_page.php"   oninput="x.value=parseInt(a.value)+parseInt(b.value)">
  0
  <input type="range"  id="a" name="a" value="50">
  100 +
  <input type="number" id="b" name="b" value="50">
  =
  <output name="x" for="a b"></output>
  <br><br>
  <input type="submit">
</form>

HTML<input>元素的不同类型。


HTML 输入类型

以下是您可以在 HTML 中使用的不同输入类型:

  • <input type="button">
  • <input type="checkbox">
  • <input type="color">
  • <input type="date">
  • <input type="datetime-local">
  • <input type="email">
  • <input type="file">
  • <input type="hidden">
  • <input type="image">
  • <input type="month">
  • <input type="number">
  • <input type="password">
  • <input type="radio">
  • <input type="range">
  • <input type="reset">
  • <input type="search">
  • <input type="submit">
  • <input type="tel">
  • <input type="text">
  • <input type="time">
  • <input type="url">
  • <input type="week">

提示:type属性的默认值为“text”。


输入类型 文本

<input type="text">定义 单行文本输入字段

例子

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname">
</form>

输入类型 密码

<input type="password">定义一个密码字段

例子

<form>
  <label for="username">Username:</label><br>
  <input type="text" id="username" name="username"><br>
  <label for="pwd">Password:</label><br>
  <input type="password" id="pwd" name="pwd">
</form>

密码字段中的字符被屏蔽(显示为星号或圆圈)。


输入类型 提交

<input type="submit">定义一个用于将表单数据 提交到表单处理程序的按钮。 表单处理程序通常是带有用于处理输入数据的脚本的服务器页面。 表单处理程序在表单的属性中指定action

例子

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit" value="Submit">
</form>

如果省略提交按钮的 value 属性,按钮将获得默认文本:

例子

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit">
</form>

输入类型重置

<input type="reset">定义一个重置按钮 ,它将所有表单值重置为其默认值:

例子

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit" value="Submit">
  <input type="reset" value="Reset">
</form>

如果更改输入值然后单击“重置”按钮,表单数据将重置为默认值。


输入类型 radio

<input type="radio">定义一个单选按钮。 单选按钮允许用户仅选择有限数量的选项之一:

例子

<p>Choose your favorite Web language:</p>

<form>
  <input type="radio" id="html" name="fav_language" value="HTML">
  <label for="html">HTML</label><br>
  <input type="radio" id="css" name="fav_language" value="CSS">
  <label for="css">CSS</label><br>
  <input type="radio" id="javascript" name="fav_language" value="JavaScript">
  <label for="javascript">JavaScript</label>
</form>

输入类型复选框

<input type="checkbox">定义一个复选框。 复选框允许用户从有限数量的选项中选择零个或多个选项。

例子

<form>
  <input type="checkbox" id="vehicle1" name="vehicle1" value="Bike">
  <label for="vehicle1"> I have a bike</label><br>
  <input type="checkbox" id="vehicle2" name="vehicle2" value="Car">
  <label for="vehicle2"> I have a car</label><br>
  <input type="checkbox" id="vehicle3" name="vehicle3" value="Boat">
  <label for="vehicle3"> I have a boat</label>
</form>

输入类型按钮

<input type="button">定义一个按钮

例子

<input type="button" onclick="alert('Hello World!')" value="Click Me!">

输入类型 颜色

用于<input type="color">应包含颜色的输入字段。 根据浏览器支持,颜色选择器可以显示在输入字段中。

例子

<form>
  <label for="favcolor">Select your favorite color:</label>
  <input type="color" id="favcolor" name="favcolor">
</form>

输入类型 日期

用于<input type="date">应包含日期的输入字段。 根据浏览器支持,日期选择器可以显示在输入字段中。

例子

<form>
  <label for="birthday">Birthday:</label>
  <input type="date" id="birthday" name="birthday">
</form>

您还可以使用minmax属性来添加对日期的限制:

例子

<form>
  <label for="datemax">Enter a date before 1980-01-01:</label>
  <input type="date" id="datemax" name="datemax" max="1979-12-31"><br><br>
  <label for="datemin">Enter a date after 2000-01-01:</label>
  <input type="date" id="datemin" name="datemin" min="2000-01-02">
</form>

输入类型 日期时间-本地

指定<input type="datetime-local">日期和时间输入字段,不带时区。 根据浏览器支持,日期选择器可以显示在输入字段中。

例子

<form>
  <label for="birthdaytime">Birthday (date and time):</label>
  <input type="datetime-local" id="birthdaytime" name="birthdaytime">
</form>

输入类型 电子邮件

用于<input type="email">应包含电子邮件地址的输入字段。 根据浏览器支持情况,电子邮件地址在提交时可以自动验证。 某些智能手机可识别电子邮件类型,并在键盘上添加“.com”以匹配电子邮件输入。

例子

<form>
  <label for="email">Enter your email:</label>
  <input type="email" id="email" name="email">
</form>

输入类型 图像

<input type="image"> 图像定义为提交按钮。 图像的路径在src属性中指定。

例子

<form>
<input type="image" src="img_submit.gif" alt="Submit" width="48" height="48">
</form>

输入类型文件

<input type="file"> 定义了一个文件选择字段和一个用于文件上传的“浏览”按钮。

例子

<form>
  <label for="myfile">Select a file:</label>
  <input type="file" id="myfile" name="myfile">
</form>

输入类型隐藏

定义<input type="hidden"> 了一个隐藏的输入字段(用户不可见)。 隐藏字段允许 Web 开发人员包含提交表单时用户无法看到或修改的数据。 隐藏字段通常存储提交表单时需要更新的数据库记录。 注意:虽然该值不会在页面内容中向用户显示,但可以使用任何浏览器的开发人员工具或“查看源代码”功能查看(并且可以编辑)该值。不要使用隐藏输入作为安全形式!

例子

<form>
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <input type="hidden" id="custId" name="custId" value="3487">
  <input type="submit" value="Submit">
</form>

输入类型 月份

允许<input type="month">用户选择月份和年份。 根据浏览器支持,日期选择器可以显示在输入字段中。

例子

<form>
  <label for="bdaymonth">Birthday (month and year):</label>
  <input type="month" id="bdaymonth" name="bdaymonth">
</form>

输入类型编号

定义<input type="number">一个 数字输入字段。 您还可以对接受的号码设置限制。 以下示例显示一个数字输入字段,您可以在其中输入 1 到 5 之间的值:

例子

<form>
  <label for="quantity">Quantity (between 1 and 5):</label>
  <input type="number" id="quantity" name="quantity" min="1" max="5">
</form>

输入类型范围

定义<input type="range">一个用于输入数字的控件,其确切值并不重要(如滑块控件)。默认范围是 0 到 100。但是,您可以使用minmaxstep属性对接受的数字设置限制:

例子

<form>
  <label for="vol">Volume (between 0 and 50):</label>
  <input type="range" id="vol" name="vol" min="0" max="50">
</form>

输入类型搜索

用于<input type="search">搜索字段(搜索字段的行为类似于常规文本字段)。

例子

<form>
  <label for="gsearch">Search Google:</label>
  <input type="search" id="gsearch" name="gsearch">
</form>

输入类型 电话

用于<input type="tel">应包含电话号码的输入字段。

例子

<form>
  <label for="phone">Enter your phone number:</label>
  <input type="tel" id="phone" name="phone" pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}">
</form>

输入类型 时间

允许<input type="time">用户选择时间(无时区)。 根据浏览器支持,时间选择器可以显示在输入字段中。

例子

<form>
  <label for="appt">Select a time:</label>
  <input type="time" id="appt" name="appt">
</form>

输入类型网址

用于<input type="url">应包含 URL 地址的输入字段。 根据浏览器支持情况,提交时可以自动验证 url 字段。 某些智能手机会识别 url 类型,并在键盘上添加“.com”以匹配 url 输入。

例子

<form>
  <label for="homepage">Add your homepage:</label>
  <input type="url" id="homepage" name="homepage">
</form>

输入类型周

允许<input type="week">用户选择一周和一年。 根据浏览器支持,日期选择器可以显示在输入字段中。

例子

<form>
  <label for="week">Select a week:</label>
  <input type="week" id="week" name="week">
</form>

HTML<input>元素的不同属性。


值属性

inputvalue属性指定输入字段的初始值:

例子

具有初始(默认)值的输入字段:

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe">
</form>

只读属性

inputreadonly属性指定输入字段是只读的。 只读输入字段无法修改(但是,用户可以使用 Tab 键切换到该字段、突出显示该字段并从中复制文本)。 提交表单时将发送只读输入字段的值!

例子

只读输入字段:

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John" readonly><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe">
</form>

禁用属性

inputdisabled属性指定应禁用输入字段。 禁用的输入字段无法使用且不可单击。 提交表单时,不会发送禁用输入字段的值!

例子

禁用的输入字段:

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John" disabled><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe">
</form>

尺寸属性

inputsize属性指定输入字段的可见宽度(以字符为单位)。 默认值为size20。 注意:size属性适用于以下输入类型:文本、搜索、电话、url、电子邮件和密码。

例子

设置输入字段的宽度:

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" size="50"><br>
  <label for="pin">PIN:</label><br>
  <input type="text" id="pin" name="pin" size="4">
</form>

最大长度属性

输入maxlength属性指定输入字段中允许的最大字符数。 注意:当设置a时maxlength,输入字段将不会接受超过指定数量的字符。但是,该属性不提供任何反馈。所以,如果你想提醒用户,你必须编写JavaScript代码。

例子

设置输入字段的最大长度:

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" size="50"><br>
  <label for="pin">PIN:</label><br>
  <input type="text" id="pin" name="pin" maxlength="4" size="4">
</form>

最小和最大属性

输入minmax属性指定输入字段的最小值和最大值。 和min属性max适用于以下输入类型:数字、范围、日期、本地日期时间、月份、时间和星期。 提示:一起使用 max 和 min 属性可以创建合法值的范围。

例子

设置最大日期、最小日期和合法值范围:

<form>
  <label for="datemax">Enter a date before 1980-01-01:</label>
  <input type="date" id="datemax" name="datemax" max="1979-12-31"><br><br>

  <label for="datemin">Enter a date after 2000-01-01:</label>
  <input type="date" id="datemin" name="datemin" min="2000-01-02"><br><br>

  <label for="quantity">Quantity (between 1 and 5):</label>
  <input type="number" id="quantity" name="quantity" min="1" max="5">
</form>

多重属性

inputmultiple属性指定允许用户在输入字段中输入多个值。 该multiple属性适用于以下输入类型:电子邮件和文件。

例子

接受多个值的文件上传字段:

<form>
  <label for="files">Select files:</label>
  <input type="file" id="files" name="files" multiple>
</form>

模式属性

inputpattern属性指定一个正则表达式,提交表单时将根据该正则表达式检查输入字段的值。 该pattern属性适用于以下输入类型:文本、日期、搜索、url、电话、电子邮件和密码。 提示:使用全局标题属性来描述模式以帮助用户。 提示:在我们的 JavaScript 教程中了解有关正则表达式的更多信息。

例子

只能包含三个字母的输入字段(不能包含数字或特殊字符):

<form>
  <label for="country_code">Country code:</label>
  <input type="text" id="country_code" name="country_code"   pattern="[A-Za-z]{3}" title="Three letter country code">
</form>

占位符属性

inputplaceholder属性指定一个简短的提示,描述输入字段的预期值(样本值或预期格式的简短描述)。 在用户输入值之前,简短提示会显示在输入字段中。 该placeholder属性适用于以下输入类型:文本、搜索、url、电话、电子邮件和密码。

例子

带有占位符文本的输入字段:

<form>
  <label for="phone">Enter a phone number:</label>
  <input type="tel" id="phone" name="phone"   placeholder="123-45-678"   pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}">
</form>

所需属性

inputrequired属性指定在提交表单之前必须填写输入字段。 该required属性适用于以下输入类型:文本、搜索、url、电话、电子邮件、密码、日期选择器、数字、复选框、单选和文件。

例子

必填输入字段:

<form>
  <label for="username">Username:</label>
  <input type="text" id="username" name="username" required>
</form>

步骤属性

输入step属性指定输入字段的合法数字间隔。 示例:如果 step="3",则合法数字可以是 -3、0、3、6 等。 提示:该属性可以与 max 和 min 属性一起使用来创建合法值的范围。 该step属性适用于以下输入类型:数字、范围、日期、本地日期时间、月份、时间和星期。

例子

具有指定合法数字间隔的输入字段:

<form>
  <label for="points">Points:</label>
  <input type="number" id="points" name="points" step="3">
</form>

注意:输入限制并不是万无一失的,JavaScript 提供了很多添加非法输入的方法。为了安全地限制输入,还必须由接收者(服务器)进行检查!


自动对焦属性

inputautofocus属性指定输入字段在页面加载时应自动获得焦点。

例子

让“名字”输入字段在页面加载时自动获得焦点:

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" autofocus><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname">
</form>

高度和宽度属性

输入heightwidth属性指定元素的高度和宽度<input type="image">提示:始终指定图像的高度和宽度属性。如果设置了高度和宽度,则在加载页面时会保留图像所需的空间。如果没有这些属性,浏览器就不知道图像的大小,也无法为其保留适当的空间。其效果是页面布局在加载期间(图像加载时)发生变化。

例子

定义一个图像作为提交按钮,具有高度和宽度属性:

<form>
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last name:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="image" src="img_submit.gif" alt="Submit" width="48" height="48">
</form>

列表属性

inputlist属性指的是<datalist>包含 <input> 元素的预定义选项的元素。

例子


<datalist> 中具有预定义值的 <input> 元素:
<form>
  <input list="browsers">
  <datalist id="browsers">
    <option value="Edge">
    <option value="Firefox">
    <option value="Chrome">
    <option value="Opera">
    <option value="Safari">
  </datalist>
</form>


自动完成属性

inputautocomplete属性指定表单或输入字段是否应打开或关闭自动完成功能。 自动完成允许浏览器预测该值。当用户开始在字段中键入时,浏览器应根据先前键入的值显示填充该字段的选项。 该autocomplete属性适用于<form>以下<input>类型:文本、搜索、url、电话、电子邮件、密码、日期选择器、范围和颜色。

例子

一种 HTML 表单,可打开和关闭一个输入字段的自动完成功能:

<form action="/action_page.php" autocomplete="on">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last name:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <label for="email">Email:</label>
  <input type="email" id="email" name="email" autocomplete="off"><br><br>
  <input type="submit" value="Submit">
</form>

form*HTML<input>元素的不同属性。


表单属性

input属性指定元素所属的form形式。<input> 该属性的值必须等于它所属的<form>元素的id属性。

例子

位于 HTML 表单外部的输入字段(但仍然是表单的一部分):

<form action="/action_page.php" id="form1">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <input type="submit" value="Submit">
</form>

<label for="lname">Last name:</label>
<input type="text" id="lname" name="lname" form="form1">

形成属性

inputformaction属性指定提交表单时将处理输入的文件的 URL。 注意:该属性会覆盖元素action的属性<form>。 该formaction属性适用于以下输入类型:提交和图像。

例子

带有两个提交按钮的 HTML 表单,具有不同的操作:

<form action="/action_page.php">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last name:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="Submit">
  <input type="submit" formaction="/action_page2.php" value="Submit as Admin">
</form>

formenctype 属性

inputformenctype 属性指定提交时表单数据应如何编码(仅适用于 method="post" 的表单)。 注意:此属性会覆盖元素的 enctype 属性<form>。 该formenctype属性适用于以下输入类型:提交和图像。

例子

带有两个提交按钮的表单。第一个使用默认编码发送表单数据,第二个发送编码为“multipart/form-data”的表单数据:

<form action="/action_page_binary.asp" method="post">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <input type="submit" value="Submit">
  <input type="submit" formenctype="multipart/form-data"   value="Submit as Multipart/form-data">
</form>

form method 属性

inputformmethod 属性定义将表单数据发送到操作 URL 的 HTTP 方法。 注意:该属性会覆盖元素的 method 属性<form>。 该formmethod属性适用于以下输入类型:提交和图像。 表单数据可以作为 URL 变量 (method="get") 或 HTTP post 事务 (method="post") 发送。 关于“get”方法的注释:

  • 此方法将表单数据以名称/值对的形式附加到 URL
  • 此方法对于用户想要为结果添加书签的表单提交很有用
  • URL 中可以放置的数据量是有限制的(因浏览器而异),因此,您无法确定所有表单数据都会正确传输
  • 切勿使用“get”方法传递敏感信息! (密码或其他敏感信息将在浏览器的地址栏中可见)

关于“post”方法的注意事项:

  • 此方法将表单数据作为 HTTP post 事务发送
  • 使用“post”方法提交的表单无法添加书签
  • “post”方法比“get”更健壮和安全,并且“post”没有大小限制

例子

带有两个提交按钮的表单。第一个使用 method="get" 发送表单数据。第二个使用 method="post" 发送表单数据:

<form action="/action_page.php" method="get">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last name:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="Submit using GET">
  <input type="submit" formmethod="post" value="Submit using POST">
</form>

表单目标属性

inputformtarget属性指定名称或关键字,指示在何处显示提交表单后收到的响应。 注意:该属性会覆盖元素的目标属性<form>。 该formtarget属性适用于以下输入类型:提交和图像。

例子

具有两个提交按钮的表单,具有不同的目标窗口:

<form action="/action_page.php">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last name:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="Submit">
  <input type="submit" formtarget="_blank" value="Submit to a new window/tab">
</form>

formnovalidate 属性

inputformnovalidate属性指定 <input> 元素在提交时不应进行验证。 注意:该属性会覆盖元素的 novalidate 属性<form> 。 该formnovalidate属性适用于以下输入类型:提交。

例子

具有两个提交按钮的表单(带验证和不带验证):

<form action="/action_page.php">
  <label for="email">Enter your email:</label>
  <input type="email" id="email" name="email"><br><br>
  <input type="submit" value="Submit">
  <input type="submit" formnovalidate="formnovalidate"   value="Submit without validation">
</form>

novalidate 属性

属性novalidate就是<form>属性。 如果存在,则 novalidate 指定在提交时不应验证所有表单数据。

例子

指定提交时不应验证任何表单数据:

<form action="/action_page.php" novalidate>
  <label for="email">Enter your email:</label>
  <input type="email" id="email" name="email"><br><br>
  <input type="submit" value="Submit">
</form>