HTML表单(属性/元素/输入类型/输入属性):看这一篇就够了

2023-11-13


HTML表单


HTML 表单用于搜集不同类型的用户输入。


<form> 元素

HTML 表单用于收集用户输入。

<form> 元素定义 HTML 表单:

实例

<form>

form elements

</form>

HTML 表单包含表单元素

表单元素指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等等。


<input> 元素

<input> 元素是最重要的表单元素

<input> 元素有很多形态,根据不同的 type 属性。

这是本章中使用的类型:

类型 描述
text 定义常规文本输入。
radio 定义单选按钮输入(选择多个选择之一)
submit 定义提交按钮(提交表单)

文本输入

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

实例

<form>
 First name:<br>
<input type="text" name="firstname">
<br>
 Last name:<br>
<input type="text" name="lastname">
</form> 

亲自试一试

在浏览器中看起来是这样的:

注释:表单本身并不可见。还要注意文本字段的默认宽度是 20 个字符。


单选按钮输入

<input type="radio"> 定义单选按钮

单选按钮允许用户在有限数量的选项中选择其中之一:

实例

<form>
<input type="radio" name="sex" value="male" checked>Male
<br>
<input type="radio" name="sex" value="female">Female
</form> 

亲自试一试

单选按钮在浏览器看起来是这样的:


提交按钮

<input type="submit"> 定义用于向表单处理程序(form-handler)提交表单的按钮。

表单处理程序通常是包含用来处理输入数据的脚本的服务器页面。

表单处理程序在表单的 action 属性中指定:

实例

<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form> 

亲自试一试

在浏览器中看起来是这样的:


Action 属性

action 属性定义在提交表单时执行的动作。

向服务器提交表单的通常做法是使用提交按钮。

通常,表单会被提交到 web 服务器上的网页。

在上面的例子中,指定了某个服务器脚本来处理被提交表单:

<form action="action_page.php">

如果省略 action 属性,则 action 会被设置为当前页面。


Method 属性

method 属性规定在提交表单时所用的 HTTP 方法(GET 或 POST):

<form action="action_page.php" method="GET">

或:

<form action="action_page.php" method="POST">

何时使用 GET?

我们能够使用 GET(默认方法):

如果表单提交是被动的(比如搜索引擎查询),并且没有敏感信息。

当使用 GET 时,表单数据在页面地址栏中是可见的:

action_page.php?firstname=Mickey&lastname=Mouse

注释:GET 最适合少量数据的提交。浏览器会设定容量限制。


何时使用 POST?

我们应该使用 POST:

如果表单正在更新数据,或者包含敏感信息(例如密码)。

POST 的安全性更好,因为在页面地址栏中被提交的数据是不可见的。


Name 属性

如果要正确地被提交,每个输入字段必须设置一个 name 属性。

本例只会提交 "Last name" 输入字段:

实例

<form action="action_page.php">
First name:<br>
<input type="text" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form> 

亲自试一试


用 <fieldset> 组合表单数据

<fieldset> 元素组合表单中的相关数据

<legend> 元素为 <fieldset> 元素定义标题。

实例

<form action="action_page.php">
<fieldset>
<legend>Personal information:</legend>
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit"></fieldset>
</form> 

亲自试一试

以上 HTML 代码在浏览器中看起来是这样的:


HTML Form 属性

HTML <form> 元素,已设置所有可能的属性,是这样的:

实例

<form action="action_page.php" method="GET" target="_blank" accept-charset="UTF-8"
ectype="application/x-www-form-urlencoded" autocomplete="off" novalidate>
.
form elements
 .
</form> 

下面是 <form> 属性的列表:

属性 描述
accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。
action 规定向何处提交表单的地址(URL)(提交页面)。
autocomplete 规定浏览器应该自动完成表单(默认:开启)。
enctype 规定被提交数据的编码(默认:url-encoded)。
method 规定在提交表单时所用的 HTTP 方法(默认:GET)。
name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。
novalidate 规定浏览器不验证表单。
target 规定 action 属性中地址的目标(默认:_self)。

HTML表单属性


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


Action 属性

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="Bill"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Gates"><br><br>
  <input type="submit" value="Submit">
</form>

亲自试一试

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


Target 属性

target 属性规定提交表单后在何处显示响应。

target 属性可设置以下值之一:

描述
_blank 响应显示在新窗口或选项卡中。
_self 响应显示在当前窗口中。
_parent 响应显示在父框架中。
_top 响应显示在窗口的整个 body 中。
framename 响应显示在命名的 iframe 中。

默认值为 _self,这意味着响应将在当前窗口中打开。

实例

此处,提交的结果将在新的浏览器标签中打开:

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

亲自试一试


Method 属性

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 属性

autocomplete 属性规定表单是否应打开自动完成功能。

启用自动完成功能后,浏览器会根据用户之前输入的值自动填写值。

实例

启用自动填写的表单:

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

亲自试一试


Novalidate 属性

novalidate 属性是一个布尔属性。

如果已设置,它规定提交时不应验证表单数据。

实例

未设置 novalidate 属性的表单:

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

亲自试一试


HTML表单元素


描述所有 HTML 表单元素。


<input> 元素

最重要的表单元素是 <input> 元素。

<input> 元素根据不同的 type 属性,可以变化为多种形态。


<select> 元素(下拉列表)

<select> 元素定义下拉列表

实例

<select 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>

亲自试一试


<textarea> 元素

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

实例

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

亲自试一试

以上 HTML 代码在浏览器中显示为:

 

<button> 元素

<button> 元素定义可点击的按钮

实例

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

亲自试一试

以上 HTML 代码在浏览器中显示为:


HTML5 表单元素

HTML5 增加了如下表单元素:

  • <datalist>
  • <keygen>
  • <output>

注释:默认地,浏览器不会显示未知元素。新元素不会破坏您的页面。


HTML5 <datalist> 元素

<datalist> 元素为 <input> 元素规定预定义选项列表。

用户会在他们输入数据时看到预定义选项的下拉列表。

<input> 元素的 list 属性必须引用 <datalist> 元素的 id 属性。

实例

通过 <datalist> 设置预定义值的 <input> 元素:

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

亲自试一试


HTML输入类型


本章描述 <input> 元素的输入类型。


输入类型:text

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

实例

<form>
 First name:<br>
<input type="text" name="firstname">
<br>
 Last name:<br>
<input type="text" name="lastname">
</form> 

亲自试一试

以上 HTML 代码在浏览器中看上去是这样的:


输入类型:password

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

实例

<form>
 User name:<br>
<input type="text" name="username">
<br>
 User password:<br>
<input type="password" name="psw">
</form> 

亲自试一试

以上 HTML 代码在浏览器中看上去是这样的:

注释:password 字段中的字符会被做掩码处理(显示为星号或实心圆)。


输入类型:submit

<input type="submit"> 定义提交表单数据至表单处理程序的按钮。

表单处理程序(form-handler)通常是包含处理输入数据的脚本的服务器页面。

在表单的 action 属性中规定表单处理程序(form-handler):

实例

<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form> 

亲自试一试

以上 HTML 代码在浏览器中看上去是这样的:

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

实例

<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit">
</form> 

亲自试一试


输入类型:单选

<input type="radio"> 定义单选按钮。

Radio buttons let a user select ONLY ONE of a limited number of choices:

实例

<form>
<input type="radio" name="sex" value="male" checked>Male
<br>
<input type="radio" name="sex" value="female">Female
</form> 

亲自试一试

以上 HTML 代码在浏览器中看上去是这样的:


输入类型:复选框

<input type="checkbox"> 定义复选框。

复选框允许用户在有限数量的选项中选择零个或多个选项。

实例

<form>
<input type="checkbox" name="vehicle" value="Bike">I have a bike
<br>
<input type="checkbox" name="vehicle" value="Car">I have a car 
</form> 

亲自试一试

以上 HTML 代码在浏览器中看上去是这样的:


输入类型:按钮

<input type="button> 定义按钮

实例

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

亲自试一试


HTML5 输入类型

HTML5 增加了多个新的输入类型:

  • color
  • date
  • datetime
  • datetime-local
  • email
  • month
  • number
  • range
  • search
  • tel
  • time
  • url
  • week

注释:老式 web 浏览器不支持的输入类型,会被视为输入类型 text。


输入类型:数字

<input type="number"> 用于应该包含数字值的输入字段。

还能够对数字做出限制。

根据浏览器支持,限制可应用到输入字段。

实例

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

亲自试一试


输入限制

这里列出了一些常用的输入限制(其中一些是 HTML5 中新增的):

属性 描述
disabled 规定输入字段应该被禁用。
max 规定输入字段的最大值。
maxlength 规定输入字段的最大字符数。
min 规定输入字段的最小值。
pattern 规定通过其检查输入值的正则表达式。
readonly 规定输入字段为只读(无法修改)。
required 规定输入字段是必需的(必需填写)。
size 规定输入字段的宽度(以字符计)。
step 规定输入字段的合法数字间隔。
value 规定输入字段的默认值。

您将在下一章学到更多有关输入限制的知识。

实例

<form>
  Quantity:
  <input type="number" name="points" min="0" max="100" step="10" value="30">
</form>

亲自试一试


输入类型:日期

<input type="date"> 用于应该包含日期的输入字段。

根据浏览器支持,日期选择器会出现输入字段中。

实例

<form>
  Birthday:
  <input type="date" name="bday">
</form>

亲自试一试

也可以向输入添加限制:

实例

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

亲自试一试


输入类型:颜色

<input type="color"> 用于应该包含颜色的输入字段。

根据浏览器支持,颜色选择器会出现输入字段中。

实例

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

亲自试一试


输入类型:滑动控件

<input type="range"> 用于应该包含一定范围内的值的输入字段。

根据浏览器支持,输入字段能够显示为滑块控件。

实例

<form>
  <input type="range" name="points" min="0" max="10">
</form>

亲自试一试

您能够使用如下属性来规定限制:min、max、step、value。


输入类型:年月

<input type="month"> 允许用户选择月份和年份。

根据浏览器支持,日期选择器会出现输入字段中。

实例

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

亲自试一试


输入类型:周、年

<input type="week"> 允许用户选择周和年。

根据浏览器支持,日期选择器会出现输入字段中。

实例

<form>
  Select a week:
  <input type="week" name="week_year">
</form>

亲自试一试


输入类型:时间

<input type="time"> 允许用户选择时间(无时区)。

根据浏览器支持,时间选择器会出现输入字段中。

实例

<form>
  Select a time:
  <input type="time" name="usr_time">
</form>

亲自试一试


输入类型:日期时间(有时区)

<input type="datetime"> 允许用户选择日期和时间(有时区)。

根据浏览器支持,日期选择器会出现输入字段中。

实例

<form>
  Birthday (date and time):
  <input type="datetime" name="bdaytime">
</form>

亲自试一试


输入类型:日期时间(无时区)

<input type="datetime-local"> 允许用户选择日期和时间(无时区)。

根据浏览器支持,日期选择器会出现输入字段中。

实例

<form>
  Birthday (date and time):
  <input type="datetime-local" name="bdaytime">
</form>

亲自试一试


输入类型:email

<input type="email"> 用于应该包含电子邮件地址的输入字段。

根据浏览器支持,能够在被提交时自动对电子邮件地址进行验证。

某些智能手机会识别 email 类型,并在键盘增加 ".com" 以匹配电子邮件输入。

实例

<form>
  E-mail:
  <input type="email" name="email">
</form>

亲自试一试


输入类型:搜索字段

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

实例

<form>
  Search Google:
  <input type="search" name="googlesearch">
</form>

亲自试一试


输入类型:电话号码

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

目前只有 Safari 8 支持 tel 类型。

实例

<form>
  Telephone:
  <input type="tel" name="usrtel">
</form>

亲自试一试


输入类型:网址

<input type="url"> 用于应该包含 URL 地址的输入字段。

根据浏览器支持,在提交时能够自动验证 url 字段。

某些智能手机识别 url 类型,并向键盘添加 ".com" 以匹配 url 输入。

实例

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

亲自试一试


value 属性

value 属性规定输入字段的初始值:

实例

<form action="">
 First name:<br>
<input type="text" name="firstname" value="Bill">
<br>
 Last name:<br>
<input type="text" name="lastname">
</form> 

亲自试一试


readonly 属性

readonly 属性规定输入字段为只读(不能修改):

实例

<form action="">
 First name:<br>
<input type="text" name="firstname" value="Bill" readonly>
<br>
 Last name:<br>
<input type="text" name="lastname">
</form> 

亲自试一试

readonly 属性不需要值。它等同于 readonly="readonly"。


disabled 属性

disabled 属性规定输入字段是禁用的。

被禁用的元素是不可用和不可点击的。

被禁用的元素不会被提交。

实例

<form action="">
 First name:<br>
<input type="text" name="firstname" value="Bill" disabled>
<br>
 Last name:<br>
<input type="text" name="lastname">
</form> 

亲自试一试

disabled 属性不需要值。它等同于 disabled="disabled"。


size 属性

size 属性规定输入字段的尺寸(以字符计):

实例

<form action="">
 First name:<br>
<input type="text" name="firstname" value="Bill" size="40">
<br>
 Last name:<br>
<input type="text" name="lastname">
</form> 

亲自试一试


maxlength 属性

maxlength 属性规定输入字段允许的最大长度:

实例

<form action="">
 First name:<br>
<input type="text" name="firstname" maxlength="10">
<br>
 Last name:<br>
<input type="text" name="lastname">
</form> 

亲自试一试

如设置 maxlength 属性,则输入控件不会接受超过所允许数的字符。

该属性不会提供任何反馈。如果需要提醒用户,则必须编写 JavaScript 代码。

注释:输入限制并非万无一失。JavaScript 提供了很多方法来增加非法输入。如需安全地限制输入,则接受者(服务器)必须同时对限制进行检查。


HTML5 属性

HTML5 为 <input> 增加了如下属性:

  • autocomplete
  • autofocus
  • form
  • formaction
  • formenctype
  • formmethod
  • formnovalidate
  • formtarget
  • height 和 width
  • list
  • min 和 max
  • multiple
  • pattern (regexp)
  • placeholder
  • required
  • step

并为 <form> 增加如需属性:

  • autocomplete
  • novalidate

autocomplete 属性

autocomplete 属性规定表单或输入字段是否应该自动完成。

当自动完成开启,浏览器会基于用户之前的输入值自动填写值。

提示:您可以把表单的 autocomplete 设置为 on,同时把特定的输入字段设置为 off,反之亦然。

autocomplete 属性适用于 <form> 以及如下 <input> 类型:text、search、url、tel、email、password、datepickers、range 以及 color。

实例

自动完成开启的 HTML 表单(某个输入字段为 off):

<form action="action_page.php" autocomplete="on">
   First name:<input type="text" name="fname"><br>
   Last name: <input type="text" name="lname"><br>
   E-mail: <input type="email" name="email" autocomplete="off"><br>
   <input type="submit">
</form> 

亲自试一试

提示:在某些浏览器中,您也许需要手动启用自动完成功能。


novalidate 属性

novalidate 属性属于 <form> 属性。

如果设置,则 novalidate 规定在提交表单时不对表单数据进行验证。

实例

指示表单在被提交时不进行验证:

<form action="action_page.php" novalidate>
   E-mail: <input type="email" name="user_email">
   <input type="submit">
</form> 

亲自试一试


autofocus 属性

autofocus 属性是布尔属性。

如果设置,则规定当页面加载时 <input> 元素应该自动获得焦点。

实例

使 "First name" 输入字段在页面加载时自动获得焦点:

First name:<input type="text" name="fname" autofocus>

 

亲自试一试


form 属性

form 属性规定 <input> 元素所属的一个或多个表单。

提示:如需引用一个以上的表单,请使用空格分隔的表单 id 列表。

实例

输入字段位于 HTML 表单之外(但仍属表单):

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

 Last name: <input type="text" name="lname" form="form1">

亲自试一试


formaction 属性

formaction 属性规定当提交表单时处理该输入控件的文件的 URL。

formaction 属性覆盖 <form> 元素的 action 属性。

formaction 属性适用于 type="submit" 以及 type="image"。

实例

拥有两个两个提交按钮并对于不同动作的 HTML 表单:

<form action="action_page.php">
   First name: <input type="text" name="fname"><br>
   Last name: <input type="text" name="lname"><br>
   <input type="submit" value="Submit"><br>
   <input type="submit" formaction="demo_admin.asp"
   value="Submit as admin">
</form> 

亲自试一试


formenctype 属性

formenctype 属性规定当把表单数据(form-data)提交至服务器时如何对其进行编码(仅针对 method="post" 的表单)。

formenctype 属性覆盖 <form> 元素的 enctype 属性。

formenctype 属性适用于 type="submit" 以及 type="image"。

实例

发送默认编码以及编码为 "multipart/form-data"(第二个提交按钮)的表单数据(form-data):

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

亲自试一试


formmethod 属性

formmethod 属性定义用以向 action URL 发送表单数据(form-data)的 HTTP 方法。

formmethod 属性覆盖 <form> 元素的 method 属性。

formmethod 属性适用于 type="submit" 以及 type="image"。

实例

第二个提交按钮覆盖表单的 HTTP 方法:

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

亲自试一试


formnovalidate 属性

novalidate 属性是布尔属性。

如果设置,则规定在提交表单时不对 <input> 元素进行验证。

formnovalidate 属性覆盖 <form> 元素的 novalidate 属性。

formnovalidate 属性可用于 type="submit"。

实例

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

<form action="action_page.php">
   E-mail: <input type="email" name="userid"><br>
   <input type="submit" value="Submit"><br>
   <input type="submit" formnovalidate value="Submit without validation">
</form> 

亲自试一试


formtarget 属性

formtarget 属性规定的名称或关键词指示提交表单后在何处显示接收到的响应。

formtarget 属性会覆盖 <form> 元素的 target 属性。

formtarget 属性可与 type="submit" 和 type="image" 使用。

实例

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

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

亲自试一试


height 和 width 属性

height 和 width 属性规定 <input> 元素的高度和宽度。

height 和 width 属性仅用于 <input type="image">。

注释:请始终规定图像的尺寸。如果浏览器不清楚图像尺寸,则页面会在图像加载时闪烁。

实例

把图像定义为提交按钮,并设置 height 和 width 属性:

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

亲自试一试


list 属性

list 属性引用的 <datalist> 元素中包含了 <input> 元素的预定义选项。

实例

使用 <datalist> 设置预定义值的 <input> 元素:

<input list="browsers">

<datalist id="browsers">
   <option value="Internet Explorer">
   <option value="Firefox">
   <option value="Chrome">
   <option value="Opera">
   <option value="Safari">
</datalist> 

亲自试一试


min 和 max 属性

min 和 max 属性规定 <input> 元素的最小值和最大值。

min 和 max 属性适用于如需输入类型:number、range、date、datetime、datetime-local、month、time 以及 week。

实例

具有最小和最大值的 <input> 元素:

Enter a date before 1980-01-01:
<input type="date" name="bday" max="1979-12-31">

 Enter a date after 2000-01-01:
<input type="date" name="bday" min="2000-01-02">

 Quantity (between 1 and 5):
<input type="number" name="quantity" min="1" max="5">

亲自试一试


multiple 属性

multiple 属性是布尔属性。

如果设置,则规定允许用户在 <input> 元素中输入一个以上的值。

multiple 属性适用于以下输入类型:email 和 file。

实例

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

Select images: <input type="file" name="img" multiple>

亲自试一试


pattern 属性

pattern 属性规定用于检查 <input> 元素值的正则表达式。

pattern 属性适用于以下输入类型:text、search、url、tel、email、and password。

提示:请使用全局的 title 属性对模式进行描述以帮助用户。

提示:请在我们的 JavaScript 教程中学习更多有关正则表达式的知识。

实例

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

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

亲自试一试


placeholder 属性

placeholder 属性规定用以描述输入字段预期值的提示(样本值或有关格式的简短描述)。

该提示会在用户输入值之前显示在输入字段中。

placeholder 属性适用于以下输入类型:text、search、url、tel、email 以及 password。

实例

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

<input type="text" name="fname" placeholder="First name">

亲自试一试


required 属性

required 属性是布尔属性。

如果设置,则规定在提交表单之前必须填写输入字段。

required 属性适用于以下输入类型:text、search、url、tel、email、password、date pickers、number、checkbox、radio、and file.

实例

必填的输入字段:

Username: <input type="text" name="usrname" required>

亲自试一试


step 属性

step 属性规定 <input> 元素的合法数字间隔。

示例:如果 step="3",则合法数字应该是 -3、0、3、6、等等。

提示:step 属性可与 max 以及 min 属性一同使用,来创建合法值的范围。

step 属性适用于以下输入类型:number、range、date、datetime、datetime-local、month、time 以及 week。

示例

拥有具体的合法数字间隔的输入字段:

<input type="number" name="points" step="3">

亲自试一试


HTML Form 和 Input 元素

标签 描述
<form> 为用户输入定义 HTML 表单。
<input> 定义输入控件。

如需所有可用 HTML 标签的完整列表,请访问我们的 HTML 标签参考手册

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML表单(属性/元素/输入类型/输入属性):看这一篇就够了 的相关文章

  • 到底什么是哈希冲突

    HashMap 中的哈希冲突或哈希冲突并不是一个新主题 我遇到过几个博客和讨论板 以模糊且详细的方式解释如何产生哈希冲突或如何避免它 我最近在一次采访中遇到了这个问题 我有很多事情要解释 但我认为很难准确地给出正确的解释 抱歉 如果我的问题
  • 使绝对定位的div扩展父div高度

    正如你在下面的 CSS 中看到的 我想要child2将自己定位在之前child1 这是因为我目前正在开发的网站也应该在移动设备上运行 在移动设备上child2应该位于底部 因为它包含我想要在移动设备上的内容下方的导航 为什么不是 2 个母版
  • 获取输入图像类型选择的图片并加载到图像标签中

    所以 我有一个用于上传 img 文件的输入框 我想要做的是从该数据 或选定的源 中获取数据并将其路由到图像标签的 src 属性中 像这样的东西 http jsfiddle net QC2c4 http jsfiddle net QC2c4
  • a4j:commandLink 重新渲染后停止工作

    我创建了这个测试用例来隔离我的问题 一旦轮询执行 ajax 更新 a4j commandLink 操作就不会执行 如果我们在轮询重新渲染之前关闭 modalPanel 则会执行它 有什么建议吗 提前致谢 测试 xhtml
  • 如何去除html源代码中的空格

    我正在使用 django 和 python 在模板文件中 我有一个下拉列表 如下所示 有用 唯一的问题是源 html 代码之间有很多空白 有什么办法可以去除空白吗 谢谢 for lang ele in video languages all
  • java:如何设置全局线程ID?

    是否有可能为线程设置唯一ID 在分布式系统中 线程是在许多不同的机器上创建的 例如通过 RMI 我需要它来创建日志消息 根据我的研究 我知道可以使用 log4j mdc ndc 来完成 但只能在单线程中完成 我的问题是 在创建线程时必须设置
  • 如何发现另一个应用程序的意图

    我正在尝试构建一个应用程序来接收来自 StumbleUpon 应用程序的共享 此时 我可以接收浏览器的 共享网址 但是当从 StumbleUpon 共享时 我的应用程序不会显示在列表中 我想我可能没有在清单中注册正确的意图 有什么方法可以找
  • CreateJs Canvas 形状在 Windows Phone 上丢失坐标

    我正在制作一个 Createjs 和 html5 项目 在其中绘制一个形状 红色圆圈 当我单击圆圈时它会发出警报 它在所有台式机和 Android 手机上都能正常工作 除非我在 Windows Phone 中打开它 否则它在普通屏幕上工作正
  • 如何在Java中通过反射调用代理(Spring AOP)上的方法?

    一个接口 public interface Manager Object read Long id 实现该接口的类 Transactional Public class ManagerImpl implements Manager Over
  • Java XML 解析器添加不必要的 xmlns 和 xml:space 属性

    我在 Windows 10 上使用 Java 11 AdoptOpenJDK 11 0 5 2019 10 15 我正在解析一些旧版 XHTML 1 1 文件 这些文件采用以下一般形式
  • 将可点击的锚标记转换为 html 文档中的纯文本

    我正在尝试匹配 a 我的内容中的标签 并将其替换为链接文本 后跟打印版本的方括号中的 url 如果只有 href 则以下示例有效 如果 a 包含另一个属性 它匹配太多并且不会返回所需的结果 我怎样才能匹配 URL 和链接文本 就是这样 这是
  • 电子邮件模板中的剪贴板功能

    我想在电子邮件模板中发送优惠券代码 一个小按钮 用于复制剪贴板上输入元素的内容 通过电子邮件模板 我的意思是我想发送一封电子邮件 其中包含优惠券代码 并且电子邮件模板中会有一个按钮 允许我将其复制到剪贴板 这可以做到吗 任何帮助将不胜感激
  • 将 div 附加到另一个 div 的右侧

    我有一个 div 它就像一个容器 里面有 2 个图像 一张图像位于 div 的左侧 另一张图像位于右侧 我的容器是Bootstrap的容器 它们都用 div 包裹 并且div s position is fixed 我的问题是我无法找到要附
  • Java 中 .NET 的 Lambda 表达式

    我最近 再次 从 C 迁移到 Java 但我非常怀念 lambda 表达式和 C 的 IEnumerable Foreach 之类的东西 所以我正在寻找Java中的lambda表达式库 有比这更好的图书馆吗LambdaJ http code
  • 禁用移动设备上的锚点菜单点击

    我使用嵌套列表作为带有子菜单项的菜单 我曾经这样做过 如果您将鼠标悬停在主菜单项上 子菜单项将通过将显示从无更改为块来出现 我决定让子菜单看起来就像是下拉的 并使用了 CSS 过渡 我遇到的问题是 在第一种方法中 如果您触摸 iPad 上的
  • 在画布上剪出圆形图像

    我正在使用 html5 canvas 并且我正在创建一个游戏 可以将您的脸部上传到游戏中 并将其用作主要角色 不幸的是 游戏中的角色是圆形的 就像笑脸一样 那么这将如何完成呢 是否可以拍一张照片 然后将其剪成一个圆 这样圆之外的任何东西都是
  • 如何从 jenkins 的现有项目生成 .hpi 插件

    我正在尝试使用 jenkins 的性能插件 但最新版本存在一些问题 如链接中所述 https issues jenkins ci org browse JENKINS 27100 https issues jenkins ci org br
  • 使用 FormData 上传 JavaScript Blob

    我在将 javascript 创建的 blob 上传到我的服务器时遇到问题 基本思想是用户上传图像 在 javascript 中我对图像进行居中裁剪并在传输之前对其进行下采样 图像处理工作正常 但上传本身无法正常工作 这是执行从 canva
  • 在java中打印阿拉伯字符串

    我试图在 java 中显示阿拉伯语文本 但它显示垃圾字符 示例 或有时在我打印时仅显示问号 我如何才能打印阿拉伯语 我听说它与unicode和UTF 8有关 这是我第一次使用语言 所以不知道 我正在使用 Eclipse Indigo IDE
  • 文件和目录条目 API 在 Chrome 中损坏?

    我正在尝试使用文件和目录条目 API 创建一个文件上传器工具 该工具允许我将文件和目录的任意组合放入浏览器窗口中 以供读取和上传 我完全意识到 可以通过使用文件输入元素来实现类似的功能webkitdirectory已启用 但我正在测试一个用

随机推荐

  • 服务器管理系统是什么

    服务器管理系统是什么 服务器管理系统 是在操作系统下对操作系统的服务器软件及其相关软件进行二次设置的管理软件 是运营商管理域名 服务器 企业邮局 数据库等服务器主机类产品的一个网站平台 以达到快捷实现域名 服务器主机 企业邮局 数据库等产品
  • protobuf在C#项目中的使用

    protobuf在C 项目中的使用 在C 项目中 有时候会使用到使用到protobuf来作为通信时数据交换的格式 protobuf ProtocolBuffer 简称PB 是google 的一种数据交换的格式 这是一种二进制的格式 比使用x
  • SqlServer视图介绍以及创建方式

    1 视图的介绍 ps 学sqlServer视图是在面试问到之后学的 答不上来太low了 然后就去各种搜索操作对视图也有了自己的理解 其实视图就是一张表 是一张表中或者多张表中经过某种筛选后显示的数据 视图是 由一个预定义的查询select语
  • JAVA 经常遇到一些问题【第二部分36~51】

    重拾者 每日记录至目前 记录51种不同场景的问题可参考解决方案 异常就两部分 1 excepiton信息 报错产生的原因 2 at开头表示 异常产生的代码位置 欢迎关注微信公众号 AIMING2020 拆分两篇博客 第一部分1 35 地址如
  • 【开源】DA14580-GPIO实验教程——疯壳·ARM双处理器开发板系列

    目录 第一节 LED硬件电路 第二节 GPIO寄存器 2 1 GPIO引脚介绍 2 2寄存器介绍 2 2 1 P0数据寄存器 2 2 2 P0设置数据寄存器 2 2 3 P0复位数据寄存器 2 2 4 P00模式寄存器 2 2 5 P1 P
  • “拖延症”的良方——对于追求完美,自制力差,情绪化的人很受用。

    上大学以后 我开始有了拖延的毛病 立下目标无数 但时常却动力奇缺 常常在网上浏览着各色的小说和帖子 或是玩很无聊的弱智在线小游戏 却不愿碰专业书本或文献一下 甚至哪怕deadline就在几天之后 只有在deadline之前一点点时间才会因紧
  • 关系型数据库与非关系型数据库的区别

    当前主流的关系型数据库有Oracle DB2 Microsoft SQL Server Microsoft Access MySQL等 非关系型数据库有 NoSql Cloudant nosql和关系型数据库比较 优点 1 成本 nosql
  • Improved Denoising Diffusion Probabilistic Models 论文阅读

    前言 DDPM模型虽然在生成任务上达到了不错的效果 但是也同样存在一些问题 例如采样时间过长 对数似然不高等 对数似然是生成模型中广泛使用的指标 优化对数似然迫使生成模型学习各个数据分布 使得模型的多样性大大提高 此外 对数似然性的微小改进
  • element Drawer 抽屉无法渲染

    出现的问题 不使用脚手架和node js时drawer不渲染 原因 没有引入最新的样式 解决方案 cdn引入
  • 性能测试(Jemeter)

    1 性能指标 响应时间 一次请求的往返时间 tps 每秒系统能够处理的事务数 比如订单中的下单操作 下单后续有很多操作 比如创建订单 扣除库存 清算库存等 这个完整操作就是一个完整的事务 qps 每秒系统能处理的查询数 就是每秒系统能够承受
  • 数据库技术的发展历史是怎么样的?

    数据库技术产生于20世纪60年代末70年代初 其主要主要研究如何存储 使用和管理数据 随着计算机硬件和软件的发展 数据库技术也不断地发展 数据库技术在理论研究和系统开发上都取得了辉煌的成就 从数据管理的角度看 数据库技术到目前共经历了如下三
  • 前端拿到后台接口返回的数据,并根据实际情况按需处理数据

    方法一 通过数据数组的map方法 创建一个假数据 用于模拟后台返回的多级数据 let options id 1 name 水果 children id 11 name 榴莲 prices 55 id 12 name 苹果 prices 45
  • AD常用快捷键总结

    1 shift s 键 切换单层显示 2 q Ctrl Q 英寸和毫米 尺寸切换 3 D R进入布线规则设置 其中 Clearance 是设置最小安全线间距 覆铜时候间距的 比较常用 4 CTRL 鼠标单击某个线 整个线的NET 网络 呈现
  • C盘如何扩容

    一 使用Windows自带的磁盘管理 1 1 清空D盘 单击D 然后选择 删除卷 然后D盘显示 未分配 1 2 C盘右键 选择 拓展卷 1 3 选择 未分配的 D盘 1 4 完成 可以看到C盘已经是合并后的大小了
  • linux学习:chmod

    Linux权限 1 Linux常见权限 444 dr r r 666 lrw r r 666 rw rw rw 700 drwx 744 drwxr r 755 drwxr xr x 777 drwxrwxrwx 我们从左到右看 第一二三位
  • ConfigurationSettings.AppSettings已过时的解决办法

    开始使用VS 2005 习惯性的使用ConfigurationSettings类来读取应用程序配置文件的信息时 却被编译器提示说 警告 1 System Configuration ConfigurationSettings AppSett
  • Anaconda中创建新的Python虚拟环境并安装Tensorflow框架

    一 问题 在安装Anaconda后 默认的Python版本是3 8 3 由于深度学习框架tensorflow的不同版本匹配的Python版本也不同 所以需要创建一个新的Python虚拟环境3 7版本 二 如何创建 打开Anaconda Pr
  • vue3 使用 vite 构建的项目打包后无法访问

    解决办法 1 安装 vitejs plugin legacy D npm i vitejs plugin legacy D 2 vite config js 添加配置 import legacy from vitejs plugin leg
  • springboot中对redis的操作封装工具类

    我们可以自己写一个工具类把redisTemplate进行封装 方便我们调用 这是一种很好的开发方式 简化开发 狂神教程中的封装 package com kuang utils import org springframework beans
  • HTML表单(属性/元素/输入类型/输入属性):看这一篇就够了

    HTML表单 HTML 表单用于搜集不同类型的用户输入