input

概述

input (<input>) 元素用来创建基于web表单的可交互控件.

Usage context

Content categories Flow content; phrasing content; interactive content (if not in the hidden state); listed, labelable, submittable, resettable, form-associated element.
Permitted content None, this is a void element.
Tag omission Must have a start tag and must not have an end tag.
Normative document HTML 5, section 4.10.7; HTML 4.01, section 17.4

属性

和其他的HTML元素一样,该元素也支持全局属性.

type
控件类型的显示. 默认的类型是text,如果这个属性没有指定,可能的值是:
  • button: A push button with no default behavior.
  • checkbox: A check box. You must use the value attribute to define the value submitted by this item. Use the checked attribute to indicate whether this item is selected. You can also use the indeterminate attribute to indicate that the checkbox is in an indeterminate state (on most platforms, this draws a horizontal line across the checkbox).
  • color: HTML5 A control for specifying a color.
  • date: HTML5 A control for entering a date (year, month, and day, with no time).
  • datetime: HTML5 A control for entering a date and time (hour, minute, second, and fraction of a second) based on UTC time zone.
  • datetime-local: HTML5 A control for entering a date and time, with no time zone.
  • email: HTML5 A field for editing an e-mail address. The :valid and :invalid CSS pseudo-classes are applied as appropriate.
  • file: A control that lets the user select a file. Use the accept attribute to define the types of files that the control can select.
  • hidden: A control that is not displayed, but whose value is submitted to the server.
  • image: A graphical submit button. You must use the src attribute to define the source of the image and the alt attribute to define alternative text. You can use the height and width attributes to define the size of the image in pixels.
  • month: HTML5 A control for entering a month and year, with no time zone.
  • number: HTML5 A control for entering a floating point number.
  • password: A single-line text field whose value is obscured. Use the maxlength attribute to specify the maximum length of the value that can be entered.
  • radio: A radio button. You must use the value attribute to define the value submitted by this item. Use the checked attribute to indicate whether this item is selected by default. Radio buttons that have the same value for the name attribute are in the same "radio button group"; only one radio button in a group can be selected at one time.
  • range: HTML5 A control for entering a number whose exact value is not important. This type control uses the following default values if the corresponding attributes are not specified:
    • min: 0
    • max: 100
    • valuemin + (max-min)/2, or min if max is less than min
    • step: 1
  • reset: A button that resets the contents of the form to default values.
  • search: HTML5 A single-line text field for entering search strings; line-breaks are automatically removed from the input value.
  • submit: A button that submits the form.
  • tel: HTML5 A control for entering a telephone number; line-breaks are automatically removed from the input value, but no other syntax is enforced. You can use attributes such as pattern and maxlength to restrict values entered in the control. The :valid and :invalid CSS pseudo-classes are applied as appropriate.
  • text: A single-line text field; line-breaks are automatically removed from the input value.
  • time: HTML5 A control for entering a time value with no time zone.
  • url: HTML5 A field for editing a URL. The user may enter a blank or invalid address. Line-breaks are automatically removed from the input value. You can use attributes such as pattern and maxlength to restrict values entered in the control. The :valid and :invalid CSS pseudo-classes are applied as appropriate.
  • week: HTML5 A control for entering a date consisting of a week-year number and a week number with no time zone.
accept
如果该元素的type属性的值为file,则该属性表明了服务器端可接受的文件类型.该属性的值必须为一个逗号分割的列表,包含了多个唯一的内容类型声明:
  • 一个有效的MIME类型,但没有扩展名
  • audio/* 表示音频文件 HTML5
  • video/* 表示视频文件 HTML5
  • image/* 表示图片文件 HTML5
accesskey HTML 4 only, 已废弃 HTML5
A single-character that the user can press to switch input focus to the control. This attribute is global in HTML5.
mozactionhint
Specifies an "action hint" used to determine how to label the enter key on mobile devices with virtual keyboards. Supported values are go, done, next, search, and send; these automatically get mapped to the appropriate string (and are case-insensitive).
autocomplete HTML5
This attribute indicates whether the value of the control can be automatically completed by the browser. This attribute is ignored if the value of the type attribute is hidden, checkbox, radio, file, or a button type (button, submit, reset, image). Possible values are:
  • off: The user must explicitly enter a value into this field for every use, or the document provides its own auto-completion method; the browser does not automatically complete the entry.
  • on: The browser can automatically complete the value based on values that the user has entered during previous uses.

If the autocomplete attribute is not specified on an input element, then the browser uses the autocomplete attribute value of the <input> element's form owner. The form owner is either the form element that this <input> element is a descendant of or the form element whose id is specified by the form attribute of the input element. For more information, see the autocomplete attribute in <form>.

autofocus HTML5
This Boolean attribute lets you specify that a form control should have input focus when the page loads, unless the user overrides it, for example by typing in a different control. Only one form element in a document can have the autofocus attribute, which is a Boolean. It cannot be applied if the type attribute is set to hidden (that is, you cannot automatically set focus to a hidden control).
autosave HTML5
This attribute should be defined as a unique value. If the value of the type attribute is search, previous search term values will persist in the dropdown across page load.
checked
如果该元素的type属性的值为radio或者checkbox,则该布尔属性的存在与否表明了该控件是否是默认选择状态.
disabled
This Boolean attribute indicates that the form control is not available for interaction. In particular, the click event will not be dispatched on disabled controls. Also, a disabled control's value isn't submitted with the form.

This attribute is ignored if the value of the type attribute is hidden.

form HTML5
The form element that the input element is associated with (its form owner). The value of the attribute must be an id of a <form> element in the same document. If this attribute is not specified, this <input> element must be a descendant of a <form> element. This attribute enables you to place <input> elements anywhere within a document, not just as descendants of their form elements.
formactionHTML5
The URI of a program that processes the information submitted by the input element, if it is a submit button or image. If specified, it overrides the action attribute of the element's form owner.
formenctypeHTML5
If the input element is a submit button or image, this attribute specifies the type of content that is used to submit the form to the server. Possible values are:
  • application/x-www-form-urlencoded: The default value if the attribute is not specified.
  • multipart/form-data: Use this value if you are using an <input> element with the type attribute set to file.
  • text/plain

If this attribute is specified, it overrides the enctype attribute of the element's form owner.

formmethodHTML5
If the input element is a submit button or image, this attribute specifies the HTTP method that the browser uses to submit the form. Possible values are:
  • post: The data from the form is included in the body of the form and is sent to the server.
  • get: The data from the form are appended to the form attribute URI, with a '?' as a separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.

If specified, this attribute overrides the method attribute of the element's form owner.

formnovalidateHTML5
If the input element is a submit button or image, this Boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the novalidate attribute of the element's form owner.
formtargetHTML5
If the input element is a submit button or image, this attribute is a name or keyword indicating where to display the response that is received after submitting the form. This is a name of, or keyword for, a browsing context (for example, tab, window, or inline frame). If this attribute is specified, it overrides the target attribute of the elements's form owner. The following keywords have special meanings:
  • _self: Load the response into the same browsing context as the current one. This value is the default if the attribute is not specified.
  • _blank: Load the response into a new unnamed browsing context.
  • _parent: Load the response into the parent browsing context of the current one. If there is no parent, this option behaves the same way as _self.
  • _top: Load the response into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as _self.
height HTML5
 If the value of the type attribute is image, this attribute defines the height of the image displayed for the button.
list HTML5
Identifies a list of pre-defined options to suggest to the user. The value must be the id of a <datalist> element in the same document. The browser displays only options that are valid values for this input element. This attribute is ignored when the type attribute's value is hidden, checkbox, radio, file, or a button type.
max HTML5 
The maximum (numeric or date-time) value for this item, which must not be less than its minimum (min attribute) value.
maxlength HTML5
If the value of the type attribute is textemailsearch, password, tel, or url,  this attribute specifies the maximum number of characters (in Unicode code points) that the user can enter; for other control types, it is ignored. It can exceed the value of the size attribute. If it is not specified, the user can enter an unlimited number of characters. Specifying a negative number results in the default behavior; that is, the user can enter an unlimited number of characters. The constraint is evaluated only when the value of the attribute has been changed.
min HTML5 
The minimum (numeric or date-time) value for this item, which must not be greater than its maximum (max attribute) value.
multipleHTML5
This Boolean attribute indicates whether the user can enter more than one value. This attribute applies when the type attribute is set to email or file; otherwise it is ignored.
name
The name of the control, which is submitted with the form data.
patternHTML5
A regular expression that the control's value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is text, search, tel, url or email; otherwise it is ignored.
placeholder HTML5
A hint to the user of what can be entered in the control . The placeholder text must not contain carriage returns or line-feeds. This attribute applies when the value of the type attribute is text, search, tel, url or email; otherwise it is ignored.
Note: Do not use the placeholder attribute instead of a <label> element. Their purposes are different: the <label> attribute describes the role of the form element; that is, it indicates what kind of information is expected, the placeholder attribute is a hint about the format the content should take. There are cases in which the placeholder attribute is never displayed to the user, so the form must be understandable without it.
readonly
This Boolean attribute indicates that the user cannot modify the value of the control.

HTML5 This attribute is ignored if the value of the type attribute is hidden, range, color, checkbox, radio, file, or a button type.

required HTML5
This attribute specifies that the user must fill in a value before submitting a form. It cannot be used when the type attribute is hidden, image, or a button type (submit, reset, or button). The :optional and :required CSS pseudo-classes will be applied to the field as appropriate.
selectionDirection HTML5
The direction in which selection occurred. This is "forward" if the selection was made from left-to-right in an LTR locale or right-to-left in an RTL locale, or "backward" if the selection was made in the opposite direction. This can be "none" if the selection direction is unknown.
size
The initial size of the control. This value is in pixels unless the value of the type attribute is text or password, in which case, it is an integer number of characters. Starting in HTML5, this attribute applies only when the type attribute is set to text, search, tel, url, email, or password; otherwise it is ignored. In addition, the size must be greater than zero. If you don't specify a size, a default value of 20 is used.
spellcheck HTML5
Setting the value of this attribute to true indicates that the element needs to have its spelling and grammar checked. The value default indicates that the element is to act according to a default behavior, possibly based on the parent element's own spellcheck value. The value false indicates that the element should not be checked.
src
If the value of the type attribute is image, this attribute specifies a URI for the location of an image to display on the graphical submit button; otherwise it is ignored.
step HTML5
Works with the min and max attributes to limit the increments at which a numeric or date-time value can be set. It can be the string any or a positive floating point number. If this attribute is not set to any, the control accepts only values at multiples of the step value greater than the minimum.
tabindex element-specific in HTML 4, global in HTML5
The position of the element in the tabbing navigation order for the current document.
usemap HTML 4 only, 已废弃 HTML5
The name of a <map> element to as an image map.
value
The initial value of the control. This attribute is optional except when the value of the type attribute is radio or checkbox.
Note that when reloading the page, Gecko and IE will ignore the value specified in the HTML source, if the value was changed before the reload.
width HTML5
 If the value of the type attribute is image, this attribute defines the width of the image displayed for the button.
x-moz-errormessage
This Mozilla extension allows you to specify the error message to display when a field doesn't successfully validate.

 


备注

File inputs

Gecko 2.0 note
(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)

从Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)开始,在一个file类型的<input>元素上调用click()方法,会打开文件选择对话框让用户选择文件.查看Using files from web applications 了解更多详情.

你不能通过脚本为file类型的input元素赋值,这样做没有任何效果:

var e = getElementById("someFileInputElement");
e.value = "foo";

错误消息

如果你想让Firefox在某个表单字段在有效性验证失败时显示自定义的错误消息,你可以使用 x-moz-errormessage 属性来达到这种效果:

<input type="email" x-moz-errormessage="Please specify a valid email address.">

不过需要注意的是,这不是一个标准属性,在其他浏览器中没有任何效果.


DOM 接口

该元素实现了 HTMLInputElement 接口.

例子

一个简单的文本输入框

<!-- 一个基本的文本输入框 -->
<input type="text" name="input" value="Type here">


一个常见的表单用例

<!-- 一个常见的表单,包含了一些input元素 -->
<form action="getform.php" method="get">
    First name: <input type="text" name="first_name" /><br />
     Last name: <input type="text" name="last_name" /><br />
        E-mail: <input type="email" name="user_email" /><br />
<input type="submit" value="Submit" />
</form>

 

在Firefox mobile上使用使用mozactionhint属性

当你的表单在Firefox mobile中显示时,你可以使用 mozactionhint 属性来指定虚拟键盘中回车键上的提示文字 .例如,想要一个"Next"标签,你可以这样写:

<input type="text" mozactionhint="next" name="sometext" />

效果如下:

mozactionhint.png


浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 1.0 (1.7 or earlier) 2 or earlier 1.0 1.0
type 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
type=button 1.0 1.0 (1.7 or earlier) 3 1.0 1.0
type=checkbox 1.0 1.0 (1.7 or earlier)
3.6 (1.9.2) for indeterminate value
2 1.0 1.0
type=color Not supported Not supported
未实现 (查看 bug 547004)
Not supported 11.01 Not supported
type=date 5.0 (recognized but no UI) Not supported
未实现 (查看 bug 446510)
Not supported 10.62 (Yes) (recognized but no UI)
type=datetime 5.0 (recognized but no UI) Not supported
未实现 (查看 bug 446510)
Not supported 10.62 (Yes) (recognized but no UI)
type=datetime-local 5.0 (recognized but no UI) Not supported
未实现 (查看 bug 446510)
Not supported 10.62 (Yes) (recognized but no UI)
type=email 5.0 4.0 (2.0) 10 10.62 ?
type=file 1.0 1.0 (1.7 or earlier) 3.02 1.0 1.0
type=hidden 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
type=image 1.0 Gecko 2.0 only sends x and y coordinates when clicked, not longer the name/value of the element 2 1.0 1.0
type=month 5.0 (recognized but no UI) Not supported
未实现 (查看 bug 446510)
Not supported 10.62 (Yes) (recognized but no UI)
type=number 6.0 (Localization in Chrome 11) Not supported
未实现 (查看 bug 344616)
10
(recognized but no UI)
10.62 (Yes)
type=password 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
type=radio 1.0 1.0 (1.7 or earlier)
3.6 (1.9.2) for indeterminate value
2 1.0 1.0
type=range 5.0 Not supported
未实现 (查看 bug 344618)
10 10.62 (11.01 added support for a default value) (Yes)
type=reset 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
type=search 5.0 4.0 (2.0) 10 11.01 (Yes)
type=submit 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
type=tel 5.0 4.0 (2.0) 10 11.01 ?
type=text 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
type=time 5.0 (recognized but no UI) Not supported
未实现 (查看 bug 446510)
Not supported 10.62 (Yes) (recognized but no UI)
type=url 5.0 4.0 (2.0) 10 10.62 ?
type=week 5.0 (recognized but no UI) Not supported
未实现 (查看 bug 446510)
Not supported 10.62 (Yes) (recognized but no UI)
accept=[MIME type] 8.0 Not supported
未实现 (查看 bug 565274)
? Not supported Not supported
accept=audio/* (Yes) 4.0 (2.0)
Filters for the following audio file extensions: .aac, .aif, .flac, .iff, .m4a, .m4b, .mid, .midi, .mp3, .mpa, .mpc, .oga, .ogg, .ra, .ram, .snd, .wav, .wma
? Not supported Not supported
accept=video/* (Yes) 4.0 (2.0)
Filters for the following video file extensions: .avi, .divx, .flv, .m4v, .mkv, .mov, .mp4, .mpeg, .mpg, .ogm, .ogv, .ogx, .rm, .rmvb, .smil, .webm, .wmv, .xvid
? Not supported Not supported
accept=image/* (Yes) 4.0 (2.0)
Filters for the following image file extensions: .jpe, .jpg, .jpeg, .gif, .png, .bmp, .ico, .svg, .svgz, .tif, .tiff, .ai, .drw, .pct, .psp, .xcf, .psd, .raw
? Not supported Not supported
accesskey 1.0 (Yes) 6 1.0 ?
mozactionhint Not supported 4.0 (2.0) Not supported Not supported Not supported
autocomplete (Yes) (Yes) ? 9.6 ?
autofocus 5.0 4.0 (2.0) 10 9.6 5.0
checked 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
disabled 1.0 1.0 (1.7 or earlier) 6 1.0 1.0
form 9.0 4.0 (2.0) ? 10.62 ?
formaction 9.0 4.0 (2.0) ? 10.62 ?
formenctype 9.0 4.0 (2.0) ? 10.62 ?
formmethod 9.0 4.0 (2.0) ? 10.62 ?
formnovalidate 5.0 (in 6.0 only worked with HTML5 doctype, validation support in 7.0 was disabled and re-enabled in 10.0) 4.0 (2.0) ? 10.62 ?
formtarget 9.0 4.0 (2.0) ? 10.62 ?
height 1.0 Not supported ? 1.0 ?
list Not supported 4.0 (2.0) Not supported 9.6 Not supported
max 5.0 Not supported
未实现 (查看 bug 556010)
? 10.62 ?
maxlength 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
min 5.0

Not supported
未实现 (查看 bug 556010)

? 10.62 ?
multiple 1.0 (supported for type=file and type=email as of 5.0) 3.6 (1.9.2) for type=file
未实现 for type=email
? 1.0 (10.62 support for type=file and as of 11.01 type=email) ?
name 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
pattern 5.0 4.0 (2.0) 10 9.6 Not supported
placeholder 5.0 4.0 (2.0) 10 11.00 5.0
readonly 1.0 1.0 (1.7 or earlier) 6 (missing for type of checkbox, radio) 1.0 1.0
required 5.0 (support for select element as of 10) 4.0 (2.0) 10 9.6 Not supported
size 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
spellcheck (Yes) 3.6 (1.9.2) 10 11.0 4.0
src 1.0 1.0 (1.7 or earlier) 2 1.0 1.0
step 5.0 Not supported
未实现 (查看 bug 556009)
? 10.62 ?
tabindex 1.0 1.0 (1.7 or earlier) 6 (elements with tabindex > 0 are not navigated) (Yes) ?
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)

Gecko 备注

(Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6)

Image capture from cameras

从Gecko 9.0 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6)开始,Firefox Android版允许用户使用手机的摄像头拍照并上传,且不需要浏览器以外的程序.想要使用这样的特性,Web开发者只需简单的将file类型的input元素的accept属性的值设置为 "image/*",像这样:

<input type="file" accept="image/*">

相关链接

附件

文件 大小 日期 附加者为
mozactionhint.png
45269 字节 2011-02-09 20:05:32 Sheppy

Document Tags and Contributors

Contributors to this page: ziyunfei, rnoka
最后编辑者: rnoka,