1.仕様
INPUT要素は、
型指定された
データフィールドを表し、
通常はユーザーがデータを
編集できるようにする
フォームコントロールを
備えています。
- input
-
型付きデータフィールド (Typed data fields)
- 種類
-
空要素
任意のコンテンツを持つことができない要素です。
- カテゴリ
-
- フロー
コンテンツ - フレージング
コンテンツ - インタラクティブ
コンテンツ (条件付き) - リストされた
要素 - ラベル付け可能な
要素 (条件付き) - 送信可能な
要素 - リセット可能な
要素 - 自動
大文字化 継承 要素 - フォーム
関連要素 - パルパブル
コンテンツ (条件付き)
type属性が Hidden状態でない場合は、インタラクティブコンテンツ, リストされた要素, ラベル付け可能な要素, 送信可能な要素, リセット可能な要素, 自動大文字化継承要素, フォーム関連要素, パルパブルコンテンツ。
type属性が Hidden状態の場合は、 リストされた要素, 送信可能な要素, リセット可能な要素, 自動大文字化継承要素, フォーム関連要素。
- フロー
- 使用できるコンテキスト
-
フレージング
コンテンツ を受け入れる要素フレージング
コンテンツ を受け入れる要素のコンテンツとして、使用できます。フレージング
コンテンツ を受け入れる要素は、h1要素 , h2要素 , h3要素 , h4要素 , h5要素 , h6要素 , p要素 , pre要素 , output要素 , progress要素 , meter要素 , label要素 , datalist要素 , body要素 , section要素 , nav要素 , aside要素 , article要素 , header要素 , footer要素 , main要素 , address要素 , li要素 , dt要素 , dd要素 , caption要素 , th要素 , td要素 , form要素 , fieldset要素 , search要素 , blockquote要素 , figure要素 , figcaption要素 , div要素 , dialog要素 , abbr要素 , b要素 , bdi要素 , bdo要素 , cite要素 , code要素 , data要素 , dfn要素 , em要素 , i要素 , kbd要素 , mark要素 , q要素 , s要素 , samp要素 , small要素 , span要素 , strong要素 , sub要素 , sup要素 , u要素 , var要素 です。 - コンテンツモデル
-
何もない
要素のコンテンツモデルが「何もない」の場合、要素にはテキストノード (要素間の空白以外) と要素ノードが含まれていてはなりません。
- タグの省略
-
終了タグはありません。
- コンテンツ属性
-
グローバル属性 他
- accept
属性 - ファイルアップロードコントロールで予期されるファイルタイプのヒント
- alt
属性 - 画像が利用できない場合に使用する置換テキスト
- autocomplete
属性 - フォーム自動入力機能のヒント
- checked
属性 - コントロールがチェックされているかどうか
- dirname
属性 - フォーム送信時に要素の方向性を送信するために使用するフォームコントロールの名前
- disabled
属性 - フォームコントロールが無効かどうか
- form
属性 - 要素をフォーム要素に関連付けます
- formaction
属性 - フォーム送信に使用するURL
- formenctype
属性 - フォーム送信に使用するエントリリストのエンコードタイプ
- formmethod
属性 - フォーム送信に使用するHTTPメソッド
- formnovalidate
属性 - フォーム送信時のフォームコントロールの検証をバイパスする
- formtarget
属性 - フォーム送信にナビゲート可能
- height
属性 - 縦寸法
- list
属性 - オートコンプリートオプションのリスト
- max
属性 - 最大値
- maxlength
属性 - 値の最大長
- min
属性 - 最小値
- minlength
属性 - 値の最小長
- multiple
属性 - 複数の値を許可するかどうか
- name
属性 - フォーム送信および form.elements API で使用する要素の名前
- pattern
属性 - フォームコントロールの値と一致するパターン
- placeholder
属性 - フォームコントロール内に配置されるユーザーに見えるラベル
- popovertarget
属性 - ポップオーバー要素を切り替え、表示、または非表示にする対象とします。
- popovertargetaction
属性 - ターゲットのポップオーバー要素を切り替えるか、表示するか、非表示にするかを示します。
- readonly
属性 - ユーザーによる値の編集を許可するかどうか
- required
属性 - フォーム送信にコントロールが必要かどうか
- size
属性 - コントロールのサイズ
- src
属性 - リソースのアドレス
- step
属性 - フォームコントロールの値と一致する粒度
- type
属性 - フォームコントロールの種類
- value
属性 - フォームコントロールの値
- width
属性 - 水平寸法
- title
属性 - この要素に特別なセマンティクスで、パターンの説明 (パターン属性とともに使用される場合)
- accept
- DOM インターフェイス
-
HTMLInputElement
[Exposed=Window]
interface HTMLInputElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions] attribute DOMString accept;
[CEReactions] attribute DOMString alt;
[CEReactions] attribute DOMString autocomplete;
[CEReactions] attribute boolean defaultChecked;
attribute boolean checked;
[CEReactions] attribute DOMString dirName;
[CEReactions] attribute boolean disabled;
readonly attribute HTMLFormElement? form;
attribute FileList? files;
[CEReactions] attribute USVString formAction;
[CEReactions] attribute DOMString formEnctype;
[CEReactions] attribute DOMString formMethod;
[CEReactions] attribute boolean formNoValidate;
[CEReactions] attribute DOMString formTarget;
[CEReactions] attribute unsigned long height;
attribute boolean indeterminate;
readonly attribute HTMLDataListElement? list;
[CEReactions] attribute DOMString max;
[CEReactions] attribute long maxLength;
[CEReactions] attribute DOMString min;
[CEReactions] attribute long minLength;
[CEReactions] attribute boolean multiple;
[CEReactions] attribute DOMString name;
[CEReactions] attribute DOMString pattern;
[CEReactions] attribute DOMString placeholder;
[CEReactions] attribute boolean readOnly;
[CEReactions] attribute boolean required;
[CEReactions] attribute unsigned long size;
[CEReactions] attribute USVString src;
[CEReactions] attribute DOMString step;
[CEReactions] attribute DOMString type;
[CEReactions] attribute DOMString defaultValue;
[CEReactions] attribute [LegacyNullToEmptyString] DOMString value;
attribute object? valueAsDate;
attribute unrestricted double valueAsNumber;
[CEReactions] attribute unsigned long width;
undefined stepUp(optional long n = 1);
undefined stepDown(optional long n = 1);
readonly attribute boolean willValidate;
readonly attribute ValidityState validity;
readonly attribute DOMString validationMessage;
boolean checkValidity();
boolean reportValidity();
undefined setCustomValidity(DOMString error);
readonly attribute NodeList? labels;
undefined select();
attribute unsigned long? selectionStart;
attribute unsigned long? selectionEnd;
attribute DOMString? selectionDirection;
undefined setRangeText(DOMString replacement);
undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
undefined showPicker();
// also has obsolete members
};
HTMLInputElement includes PopoverInvokerElement;
HTMLElement
[Exposed=Window]
interface HTMLElement : Element {
[HTMLConstructor] constructor();
// metadata attributes
[CEReactions] attribute DOMString title;
[CEReactions] attribute DOMString lang;
[CEReactions] attribute boolean translate;
[CEReactions] attribute DOMString dir;
// user interaction
[CEReactions] attribute (boolean or unrestricted double or DOMString)? hidden;
[CEReactions] attribute DOMString inert;
undefined click();
[CEReactions] attribute DOMString accessKey;
readonly attribute DOMString accessKeyLabel;
[CEReactions] attribute boolean draggable;
[CEReactions] attribute boolean spellcheck;
[CEReactions] attribute DOMString writingSuggestions;
[CEReactions] attribute DOMString autocapitalize;
[CEReactions] attribute [LegacyNullToEmptyString] DOMString innerText;
[CEReactions] attribute [LegacyNullToEmptyString] DOMString outerText;
ElementInternals attachInternals();
// The popover API
undefined showPopover();
undefined hidePopover();
boolean togglePopover(optional boolean force);
[CEReactions] attribute DOMString? popover;
};
HTMLElement includes GlobalEventHandlers;
HTMLElement includes ElementContentEditable;
HTMLElement includes HTMLOrSVGElement;
Element
[Exposed=Window]
interface Element : Node {
readonly attribute DOMString? namespaceURI;
readonly attribute DOMString? prefix;
readonly attribute DOMString localName;
readonly attribute DOMString tagName;
[CEReactions] attribute DOMString id;
[CEReactions] attribute DOMString className;
[SameObject, PutForwards=value] readonly attribute DOMTokenList classList;
[CEReactions, Unscopable] attribute DOMString slot;
boolean hasAttributes();
[SameObject] readonly attribute NamedNodeMap attributes;
sequence<DOMString> getAttributeNames();
DOMString? getAttribute(DOMString qualifiedName);
DOMString? getAttributeNS(DOMString? namespace, DOMString localName);
[CEReactions] undefined setAttribute(DOMString qualifiedName, DOMString value);
[CEReactions] undefined setAttributeNS(DOMString? namespace, DOMString qualifiedName, DOMString value);
[CEReactions] undefined removeAttribute(DOMString qualifiedName);
[CEReactions] undefined removeAttributeNS(DOMString? namespace, DOMString localName);
[CEReactions] boolean toggleAttribute(DOMString qualifiedName, optional boolean force);
boolean hasAttribute(DOMString qualifiedName);
boolean hasAttributeNS(DOMString? namespace, DOMString localName);
Attr? getAttributeNode(DOMString qualifiedName);
Attr? getAttributeNodeNS(DOMString? namespace, DOMString localName);
[CEReactions] Attr? setAttributeNode(Attr attr);
[CEReactions] Attr? setAttributeNodeNS(Attr attr);
[CEReactions] Attr removeAttributeNode(Attr attr);
ShadowRoot attachShadow(ShadowRootInit init);
readonly attribute ShadowRoot? shadowRoot;
Element? closest(DOMString selectors);
boolean matches(DOMString selectors);
boolean webkitMatchesSelector(DOMString selectors); // legacy alias of .matches
HTMLCollection getElementsByTagName(DOMString qualifiedName);
HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
HTMLCollection getElementsByClassName(DOMString classNames);
[CEReactions] Element? insertAdjacentElement(DOMString where, Element element); // legacy
undefined insertAdjacentText(DOMString where, DOMString data); // legacy
};
GlobalEventHandlers
interface mixin GlobalEventHandlers {
attribute EventHandler onabort;
attribute EventHandler onauxclick;
attribute EventHandler onbeforeinput;
attribute EventHandler onbeforematch;
attribute EventHandler onbeforetoggle;
attribute EventHandler onblur;
attribute EventHandler oncancel;
attribute EventHandler oncanplay;
attribute EventHandler oncanplaythrough;
attribute EventHandler onchange;
attribute EventHandler onclick;
attribute EventHandler onclose;
attribute EventHandler oncontextlost;
attribute EventHandler oncontextmenu;
attribute EventHandler oncontextrestored;
attribute EventHandler oncopy;
attribute EventHandler oncuechange;
attribute EventHandler oncut;
attribute EventHandler ondblclick;
attribute EventHandler ondrag;
attribute EventHandler ondragend;
attribute EventHandler ondragenter;
attribute EventHandler ondragleave;
attribute EventHandler ondragover;
attribute EventHandler ondragstart;
attribute EventHandler ondrop;
attribute EventHandler ondurationchange;
attribute EventHandler onemptied;
attribute EventHandler onended;
attribute OnErrorEventHandler onerror;
attribute EventHandler onfocus;
attribute EventHandler onformdata;
attribute EventHandler oninput;
attribute EventHandler oninvalid;
attribute EventHandler onkeydown;
attribute EventHandler onkeypress;
attribute EventHandler onkeyup;
attribute EventHandler onload;
attribute EventHandler onloadeddata;
attribute EventHandler onloadedmetadata;
attribute EventHandler onloadstart;
attribute EventHandler onmousedown;
[LegacyLenientThis] attribute EventHandler onmouseenter;
[LegacyLenientThis] attribute EventHandler onmouseleave;
attribute EventHandler onmousemove;
attribute EventHandler onmouseout;
attribute EventHandler onmouseover;
attribute EventHandler onmouseup;
attribute EventHandler onpaste;
attribute EventHandler onpause;
attribute EventHandler onplay;
attribute EventHandler onplaying;
attribute EventHandler onprogress;
attribute EventHandler onratechange;
attribute EventHandler onreset;
attribute EventHandler onresize;
attribute EventHandler onscroll;
attribute EventHandler onscrollend;
attribute EventHandler onsecuritypolicyviolation;
attribute EventHandler onseeked;
attribute EventHandler onseeking;
attribute EventHandler onselect;
attribute EventHandler onslotchange;
attribute EventHandler onstalled;
attribute EventHandler onsubmit;
attribute EventHandler onsuspend;
attribute EventHandler ontimeupdate;
attribute EventHandler ontoggle;
attribute EventHandler onvolumechange;
attribute EventHandler onwaiting;
attribute EventHandler onwebkitanimationend;
attribute EventHandler onwebkitanimationiteration;
attribute EventHandler onwebkitanimationstart;
attribute EventHandler onwebkittransitionend;
attribute EventHandler onwheel;
};
ElementContentEditable
interface mixin ElementContentEditable {
[CEReactions] attribute DOMString contentEditable;
[CEReactions] attribute DOMString enterKeyHint;
readonly attribute boolean isContentEditable;
[CEReactions] attribute DOMString inputMode;
};
HTMLOrSVGElement
interface mixin HTMLOrSVGElement {
[SameObject] readonly attribute DOMStringMap dataset;
attribute DOMString nonce; // intentionally no [CEReactions]
[CEReactions] attribute boolean autofocus;
[CEReactions] attribute long tabIndex;
undefined focus(optional FocusOptions options = {});
undefined blur();
};
- ARIA in HTML
-
type属性の値によって、いろいろあります。
- レンダリング
- インライン
レベル ボックス フォーム
コントロール input {
display: inline-block;
letter-spacing: initial;
word-spacing: initial;
line-height: initial;
text-transform: initial;
text-indent: initial;
text-shadow: initial;
appearance: auto;
text-align: initial;
}
input:not([type=image i], [type=range i], [type=checkbox i], [type=radio i]) {
overflow: clip !important;
overflow-clip-margin: 0 !important;
}
input:is([type=reset i], [type=button i], [type=submit i]) { text-align: center; }
input[type=hidden i], input[type=file i], input[type=image i] { appearance: none; }
input:is([type=radio i], [type=checkbox i], [type=reset i], [type=button i], [type=submit i], [type=color i], [type=search i]) { box-sizing: border-box; }
CSS を大雑把に読むと、 インラインレベルのブロックコンテナボックス(インラインブロック)を生成します。 などになります。
- 説明
-
input
要素 は、型指定されたデータフィールドを表し、通常はユーザーがデータを編集できるようにするフォームコントロールを備えています。<!DOCTYPE html>
<html lang=
"ja"> <head>
<meta charset=
"utf-8"> <title>input要素の例 - (Example of input element) | 離珠のHTMLでしぃ!</title>
</head>
<body>
<h1>input要素の例</h1>
<form action=
"../Html/fmreceive.htm"> <input name=
"nipInput" value= "abc"> <button name=
"nbtSender" value= "../Html/exinput.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
</body>
</html>
このサンプルへのリンクです。
(./exinput.htm) - 参照元
-
参照元
- HTML Living Standard. 4.10 Forms 4.10.5 The input element (Last Updated 27 August 2024)
- HTML Living Standard. 15 Rendering 15.3.10 Form controls (Last Updated 27 August 2024)
- HTML Living Standard. 15 Rendering 15.5.6 The input element as a text entry widget ( (15.5.12 まで input要素の記述が続きます。) Last Updated 27 August 2024)
- HTML Living Standard. 4.11 Interactive elements 4.11.3.4 Using the input element to define a command (Last Updated 27 August 2024)
- HTML 5.2 W3C 勧告. 4.10.5 The input element (W3C勧告、2017年12月14日)
- HTML 5.2 W3C 勧告. 10.3.11. Form controls. (W3C勧告、2017年12月14日)
- HTML 5.1 W3C 勧告. 4.10.5 The input element (W3C勧告、2016年11月1日)
- HTML 5.1 W3C 勧告. 10.3.11. Form controls. (W3C勧告、2016年11月1日)
- HTML 5 W3C 勧告. 4.10.5 The input element (W3C勧告、2014年10月28日)
- HTML 5 W3C 勧告. 10.3.11. Form controls. (W3C勧告、2014年10月28日)
- HTML 4.01 Specification W3C 勧告. 17.4 The INPUT elements (W3C勧告1999年12月24日)
- HTML 3.2 Reference Specification (W3C勧告1997年1月14日)
- Hypertext Markup Language - 2.0 (November 1995)
- <input>: 入力欄(フォーム入力)要素 - HTML: ハイパーテキストマークアップ言語 | MDN
- JSONデータ
-
JSON形式での、データのイメージです。
{
"input": {
"check": "2024-09-01",
"group": "Form",
"element": "- X EMPTY -- Typed data fields. (Void elements.) [Flow|Phrasing||Interactivelimited|Listed|Labelablelimited|Submittable|Resettable|Autocapitalize|Form|Palpablelimited] --",
"attlist": {
"%Global;": "",
"accept": "%ContentTypes; #IMPLIED -- Hint for expected file type in file upload controls --",
"alt": "CDATA #IMPLIED -- Replacement text for use when images are not available --",
"autocomplete": "(on|off) on -- Hint for form autofill feature --",
"checked": "(checked) #IMPLIED -- Whether the control is checked --",
"dirname": "CDATA #IMPLIED -- Name of form control to use for sending the element's directionality in form submission --",
"disabled": "(disabled) #IMPLIED -- Whether the form control is disabled --",
"form": "IDREF #IMPLIED -- Associates the element with a form element --",
"formaction": "%URI; #IMPLIED -- URL to use for form submission --",
"formenctype": "%ContentType; #IMPLIED -- Entry list encoding type to use for form submission --",
"formmethod": "(get|post|dialog) #IMPLIED -- Variant to use for form submission --",
"formnovalidate": "(formnovalidate) #IMPLIED -- Bypass form control validation for form submission --",
"formtarget": "%FrameTarget; #IMPLIED -- Navigable for form submission --",
"height": "NUMBER #IMPLIED -- Vertical dimension --",
"list": "IDREF #IMPLIED -- List of autocomplete options --",
"max": "CDATA #IMPLIED -- Maximum value --",
"maxlength": "NUMBER #IMPLIED -- Maximum length of value --",
"min": "CDATA #IMPLIED -- Minimum value --",
"minlength": "NUMBER #IMPLIED -- Minimum length of value --",
"multiple": "(multiple) #IMPLIED -- Whether to allow multiple values --",
"name": "CDATA #IMPLIED -- Name of the element to use for form submission and in the form.elements API --",
"pattern": "CDATA #IMPLIED -- Pattern to be matched by the form control's value --",
"placeholder": "CDATA #IMPLIED -- User-visible label to be placed within the form control --",
"popovertarget": "IDREF #IMPLIED -- Targets a popover element to toggle, show, or hide --",
"popovertargetaction": "(toggle|show|hide) #IMPLIED -- Indicates whether a targeted popover element is to be toggled, shown, or hidden --",
"readonly": "(readonly) #IMPLIED -- Whether to allow the value to be edited by the user --",
"required": "(required) #IMPLIED -- Whether the control is required for form submission --",
"size": "CDATA #IMPLIED -- Size of the control --",
"src": "%URI; #IMPLIED -- Address of the resource --",
"step": "(NUMBER|any) #IMPLIED -- Granularity to be matched by the form control's value --",
"type": "%InputType; text -- Type of form control --",
"value": "CDATA #IMPLIED -- Value of the form control --",
"width": "NUMBER #IMPLIED -- Horizontal dimension --",
},
"comment": "型付きデータフィールド (Typed data fields)",
"point": "型指定されたデータフィールドを表し、通常はユーザーがデータを編集できるようにするフォームコントロールを備えています。",
"kind": "Void",
"categories": [
"Flow",
"Phrasing",
"Interactivelimited",
"Listed",
"Labelablelimited",
"Submittable",
"Resettable",
"Autocapitalize",
"Formassociated",
"Palpablelimited",
],
"categoriessupplement": [
"type属性が Hidden状態でない場合は、インタラクティブコンテンツ, リストされた要素, ラベル付け可能な要素, 送信可能な要素, リセット可能な要素, 自動大文字化継承要素, フォーム関連要素, パルパブルコンテンツ。",
"type属性が Hidden状態の場合は、 リストされた要素, 送信可能な要素, リセット可能な要素, 自動大文字化継承要素, フォーム関連要素。",
],
"used": "parent (%Phrasing)*",
"contentmodel": "%Nothing",
"tag": [
"-",
"X",
],
"attributes": {
"accept": "ファイルアップロードコントロールで予期されるファイルタイプのヒント",
"alt": "画像が利用できない場合に使用する置換テキスト",
"autocomplete": "フォーム自動入力機能のヒント",
"checked": "コントロールがチェックされているかどうか",
"dirname": "フォーム送信時に要素の方向性を送信するために使用するフォームコントロールの名前",
"disabled": "フォームコントロールが無効かどうか",
"form": "要素をフォーム要素に関連付けます",
"formaction": "フォーム送信に使用するURL",
"formenctype": "フォーム送信に使用するエントリリストのエンコードタイプ",
"formmethod": "フォーム送信に使用するHTTPメソッド",
"formnovalidate": "フォーム送信時のフォームコントロールの検証をバイパスする",
"formtarget": "フォーム送信にナビゲート可能",
"height": "縦寸法",
"list": "オートコンプリートオプションのリスト",
"max": "最大値",
"maxlength": "値の最大長",
"min": "最小値",
"minlength": "値の最小長",
"multiple": "複数の値を許可するかどうか",
"name": "フォーム送信および form.elements API で使用する要素の名前",
"pattern": "フォームコントロールの値と一致するパターン",
"placeholder": "フォームコントロール内に配置されるユーザーに見えるラベル",
"popovertarget": "ポップオーバー要素を切り替え、表示、または非表示にする対象とします。",
"popovertargetaction": "ターゲットのポップオーバー要素を切り替えるか、表示するか、非表示にするかを示します。",
"readonly": "ユーザーによる値の編集を許可するかどうか",
"required": "フォーム送信にコントロールが必要かどうか",
"size": "コントロールのサイズ",
"src": "リソースのアドレス",
"step": "フォームコントロールの値と一致する粒度",
"type": "フォームコントロールの種類",
"value": "フォームコントロールの値",
"width": "水平寸法",
"title": "この要素に特別なセマンティクスで、パターンの説明 (パターン属性とともに使用される場合)",
},
"dominterface": "HTMLInputElement",
"rendering": [
"Form",
"Bidirectional",
"Replaced",
"Hidden",
],
"reference": [
{
"title": "HTML Living Standard. 4.10 Forms 4.10.5 The input element.",
"href": "https://html.spec.whatwg.org/multipage/input.html#the-input-element",
"heading": "HTML Living Standard. 4.10 Forms 4.10.5 The input element",
"sub": "Last Updated 27 August 2024",
},
{
"title": "HTML Living Standard. 15 Rendering 15.3.10 Form controls.",
"href": "https://html.spec.whatwg.org/multipage/rendering.html#form-controls",
"heading": "HTML Living Standard. 15 Rendering 15.3.10 Form controls",
"sub": "Last Updated 27 August 2024",
},
{
"title": "HTML Living Standard. 15 Rendering 15.5.6 The input element as a text entry widget.",
"href": "https://html.spec.whatwg.org/multipage/rendering.html#the-input-element-as-a-text-entry-widget",
"heading": "HTML Living Standard. 15 Rendering 15.5.6 The input element as a text entry widget",
"sub": " (15.5.12 まで input要素の記述が続きます。) Last Updated 27 August 2024",
},
{
"title": "HTML Living Standard. 4.11 Interactive elements 4.11.3.4 Using the input element to define a command.",
"href": "https://html.spec.whatwg.org/multipage/interactive-elements.html#using-the-input-element-to-define-a-command",
"heading": "HTML Living Standard. 4.11 Interactive elements 4.11.3.4 Using the input element to define a command",
"sub": "Last Updated 27 August 2024",
},
{
"title": "HTML 5.2 W3C Recommendation. 4.10.5 The input element. W3C Recommendation, 14 December 2017.",
"href": "https://www.w3.org/TR/2017/REC-html52-20171214/sec-forms.html#the-input-element",
"heading": "HTML 5.2 W3C 勧告. 4.10.5 The input element",
"sub": "W3C勧告、2017年12月14日",
},
{
"title": "HTML 5.2 W3C Recommendation. 10.3.11. Form controls.",
"href": "https://www.w3.org/TR/2017/REC-html52-20171214/rendering.html#form-controls",
"heading": "HTML 5.2 W3C 勧告. 10.3.11. Form controls.",
"sub": "W3C勧告、2017年12月14日",
},
{
"title": "HTML 5.1 W3C Recommendation. 4.10.5 The input element. W3C Recommendation, 1 November 2016.",
"href": "https://www.w3.org/TR/2016/REC-html51-20161101/sec-forms.html#the-input-element",
"heading": "HTML 5.1 W3C 勧告. 4.10.5 The input element",
"sub": "W3C勧告、2016年11月1日",
},
{
"title": "HTML 5.1 W3C Recommendation. 10.3.11. Form controls. W3C Recommendation, 1 November 2016.",
"href": "https://www.w3.org/TR/2016/REC-html51-20161101/rendering.html#form-controls",
"heading": "HTML 5.1 W3C 勧告. 10.3.11. Form controls.",
"sub": "W3C勧告、2016年11月1日",
},
{
"title": "HTML 5 W3C Recommendation. 4.10.5 The input element. W3C Recommendation, 28 October 2014.",
"href": "https://www.w3.org/TR/2014/REC-html5-20141028/forms.html#the-label-element",
"heading": "HTML 5 W3C 勧告. 4.10.5 The input element",
"sub": "W3C勧告、2014年10月28日",
},
{
"title": "HTML 5 W3C Recommendation. 10.3.11. Form controls. W3C Recommendation, 28 October 2014.",
"href": "https://www.w3.org/TR/2014/REC-html5-20141028/rendering.html#form-controls",
"heading": "HTML 5 W3C 勧告. 10.3.11. Form controls.",
"sub": "W3C勧告、2014年10月28日",
},
{
"title": "HTML 4.01 Specification W3C Recommendation. 17.4 The INPUT element. W3C Recommendation 24 December 1999.",
"href": "https://www.w3.org/TR/html401/interact/forms.html#h-17.4",
"heading": "HTML 4.01 Specification W3C 勧告. 17.4 The INPUT elements",
"sub": "W3C勧告1999年12月24日",
},
{
"title": "HTML 3.2 Reference Specification. W3C Recommendation 14-Jan-1997.",
"href": "https://www.w3.org/TR/2018/SPSD-html32-20180315/#fields",
"heading": "HTML 3.2 Reference Specification",
"sub": "W3C勧告1997年1月14日",
},
{
"title": "Hypertext Markup Language - 2.0. November 1995.",
"href": "https://www.ietf.org/rfc/rfc1866.txt",
"heading": "Hypertext Markup Language - 2.0",
"sub": "November 1995",
},
{
"title": "MDN Web Docs. HTML <input>: The Input (Form Input) element.",
"href": "https://developer.mozilla.org/ja/docs/Web/HTML/Element/input",
"heading": "<input>: 入力欄(フォーム入力)要素 - HTML: ハイパーテキストマークアップ言語 | MDN",
},
],
"version": {
"first": "HTML2",
"latest": "HTML Living Standard",
},
}
}
注意: 簡易に描画する為に、各項目の後ろに
,
を付与しています。JSON の形式では、末尾の項目の後には,
は付けません。 - 最終確認日
-
2024-09-01
2.使用可能な箇所
フレージング
受け入れる要素に
配置できます。
input
フレージング
尚 厳密に言うと、コンテンツ
3.配置できるコンテンツ
配置可能なコンテンツは
ありません。
inputは、子(内容・コンテンツ・Content)を持つことができない空要素です。
inputは、属性(属性値)によって型指定されたデータフィールドを表します。
listを用いてdatalist要素と関連付ける事で、オートコンプリートオプションのリストを指定する事も出来ます。
4.属性
グローバル属性と、
accept, alt,
autocomplete,
checked,
dirname,
disabled,
form,
formaction,
formenctype,
formmethod,
formnovalidate,
formtarget,
height,
list,
max, maxlength,
min, minlength,
multiple,
name,
pattern,
placeholder,
popovertarget,
popovertargetaction,
readonly, required,
size, src, step,
type, value, width を
設定できます。
inputは、グローバル属性と accept属性, alt属性, autocomplete属性, checked属性, dirname属性, disabled属性, form属性, formaction属性, formenctype属性, formmethod属性, formnovalidate属性, formtarget属性, height属性, list属性, max属性, maxlength属性, min属性, minlength属性, multiple属性, name属性, pattern属性, placeholder属性, popovertarget属性, popovertargetaction属性, readonly属性, required属性, size属性, src属性, step属性, type属性, value属性, width属性を設定できます。
例示に於いて、見易さの為にinputのtypeがtext
の時に、スタイルシートで装飾(幅)の指定をしています。またbuttonの前で改行しています。
例示に於いて、送信の状況を見る為に送信先を./fmreceive.htm
としています。それは送信のデモ用の受信ページです。そこで送信元が分かる様に、名前がnbtSender
というデータで送信元を表す記述をしています。
<form action=
"./fmreceive.htm"> <input>
<button name=
"nbtSender" value= "./foinput.htm#MAP4NEXT">ボタン</button> </form>
form
buttonnbtSender
で固定です。
accept属性
<input name=
"nipFile" type= "file" accept= ".txt, .htm" >
acceptを指定すると、ユーザーエージェントに受け入れられるファイルの種類のヒントを提供できます。
acceptは、typeがfile
の時に有効です。
指定する場合、属性はコンマで区切られたトークンのセットで構成されている必要があり、各トークンは、次のいずれかに一致する ASCII 大文字小文字を区別しないものでなければなりません。
- "audio/*"
- サウンドファイルが受け入れられることを示します。
- "video/*"
- ビデオファイルが受け入れられることを示します。
- "image/*"
- 画像ファイルが受け入れられることを示します。
- パラメータのない有効な MIME タイプ文字列
- 指定された種類のファイルが受け入れられることを示します。
- 最初の文字が U+002E ピリオド文字 (.) である文字列
- 指定されたファイル拡張子を持つファイルが受け入れられることを示します。
alt属性
<input name=
"nipImage" type= "image" src= "../Img/G00/dummy.gif" alt= "ImageButton" >
altは、画像を使用できないユーザーおよびユーザーエージェントの為に、ボタンのテキストラベルを提供します。altは必ず存在し、画像が利用できない場合に同等のボタンに適切なラベルを示す空でない文字列を含める必要があります。
altは、typeがimage
の時に有効です。
autocomplete属性
<input name=
"nipText" type= "text" autocomplete= "on" >
autocompleteは、ユーザーエージェントが自動入力動作を提供する方法を制御します。
autocompleteは、typeがtext
, search
, tel
, url
, email
, password
, date
, month
, week
, time
, datetime-local
, number
, range
, color
, hidden
の時に有効です。
checked属性
<input name=
"nipRadio" type= "radio" value= "radio01" checked>
checkedは、inputのデフォルトのチェック状態を指定するブール属性です。checkedが追加された場合、コントロールにダーティチェック状態がない場合、ユーザーエージェントは要素のチェック状態を true に設定する必要があります。checkedが削除された場合、コントロールにダーティチェック状態がない場合、ユーザーエージェントは要素のチェック状態を false に設定する必要があります。
checkedは、typeがcheckbox
, radio
の時に有効です。
dirname属性
<input name=
"nipText" type= "text" dirname= "nipDirname" >
dirnameは、要素の方向の送信を有効にし、フォーム送信中にこの値を含むコントロールの名前を指定します。このような属性を指定する場合、その値は空の文字列であってはなりません。
dirnameは、typeがtext
, search
, tel
, url
, email
, password
, submit
, hidden
の時に有効です。
disabled属性
<input name=
"nipText" type= "text" value= "distext" disabled>
disabledは、コントロールを非対話型にして、その値が送信されないようにする為に使用されるブール属性です。
form属性
<form action=
"./fmreceive.htm"> <input name=
"nipText" type= "text" form= "ifoForm241" ><button name=
"nbtSender" value= "./foinput.htm#MH3FORM">ボタン</button> </form>
<form id=
"ifoForm241" action= "./fmreceive.htm"> <button name=
"nbtSender" value= "./foinput.htm#MH3FORM">ボタン</button> </form>
formは、入力要素をそのフォーム所有者に明示的に関連付ける為に使用されます。
フォーム関連要素は、デフォルトでは、最も近い祖先form
formaction属性
<form action=
"./form.htm"> <input name=
"nipSubmit" type= "submit" formaction= "./fmreceive.htm" ><input name=
"nbtSender" type= "hidden" value= "./foinput.htm#MH3FORMACTION"> </form>
formactionは、送信されたデータを処理するサービスのURLを表します。
formactionが指定されている場合、その値は、スペースで囲まれた可能性のある有効な空でない URL である必要があります。
要素のアクションは、要素が送信ボタンであり、そのような属性がある場合は要素のformactionの値、フォーム所有者のactionがある場合はその値、ない場合は空の文字列です。
formactionは、typeがsubmit
, image
の時に有効です。
formenctype属性
<input name=
"nipSubmit" type= "submit" formenctype= "application/ >x-www-form-urlencoded "
formenctypeは、フォーム送信に使用するエントリリストのエンコード
formenctypeが指定されている場合、その値は、次のキーワードと状態です。
- 「application/x-www-form-urlencoded」キーワードと対応する状態。
- 「multipart/form-data」キーワードと対応する状態。
- 「text/plain」キーワードと対応する状態。
列挙属性と呼ばれる一部の属性は、有限の状態セットを取ります。このような属性の状態は、属性の値、各属性の仕様で指定されたキーワード/状態マッピングのセット、および属性の仕様で指定できる 2 つの特殊な状態を組み合わせることによって生成されます。これらの特殊な状態は、無効な値のデフォルトと欠落した値のデフォルトです。
この属性には欠損値のデフォルトはなく、無効値のデフォルトは application/
要素の enctype は、要素が送信ボタンであり、そのような属性がある場合は要素のformenctypeの状態になります。それ以外の場合は、フォーム所有者のenctypeの値(状態)です。
formenctypeは、typeがsubmit
, image
の時に有効です。
formmethod属性
<input name=
"nipSubmit" type= "submit" formmethod= "get" >
formmethodは、フォーム送信に使用するHTTPメソッドを指定します。
formmethodは、次のキーワード(keywords)と状態(states)を持つ列挙属性(enumerated attribute)です。
- get
- フォームが HTTP GET メソッドを使用することを示します。
- post
- フォームが HTTP POST メソッドを使用することを示します。
- dialog
- フォームが存在するダイアログボックスがあればそれを閉じ、それ以外の場合は送信しないことをフォームが意図していることを示します。
列挙属性と呼ばれる一部の属性は、有限の状態セットを取ります。このような属性の状態は、属性の値、各属性の仕様で指定されたキーワード/状態マッピングのセット、および属性の仕様で指定できる 2 つの特殊な状態を組み合わせることによって生成されます。これらの特殊な状態は、無効な値のデフォルトと欠落した値のデフォルトです。
この属性には欠損値のデフォルトはなく、無効値のデフォルトは get 状態です。
要素の method は、要素が送信ボタンであり、そのような属性がある場合は要素のformmethodの状態になります。それ以外の場合は、フォーム所有者のmethodの値(状態)です。
formmethodは、typeがsubmit
, image
の時に有効です。
formnovalidate属性
<input name=
"nipText" required><br> <input name=
"nipSubmit" type= "submit" formnovalidate>
formnovalidateは、ブール属性です。存在する場合、フォームは送信時に検証されないことを示します。
要素が送信ボタンであり、formnovalidateがある場合、または要素のフォーム所有者のnovalidateが存在する場合は、要素の no-validate 状態は true になり、それ以外の場合は false になります。
formnovalidateは、typeがsubmit
, image
の時に有効です。
例示に於いて、typeがtext
のinputにrequiredを指定して、「入力必須」としています。また見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
formtarget属性
<form action=
"./fmreceive.htm" target= "_top"> <input name=
"nipSubmit" type= "submit" formtarget= "nifTarget" ></form>
<iframe name=
"nifTarget"></iframe>
formtargetは、フォーム送信に有効なナビゲーション可能なターゲット名
target および formtargetコンテンツ属性が指定されている場合、その値は有効なナビゲート可能なターゲット名またはキーワードである必要があります。キーワードは ASCII 大文字と小文字を区別せずに、
- _blank: new
- _self: current
- _parent: parent
- _top: top
例示ではiframeにnameを指定して、「ターゲット名」としています。また見易さの為に、iframeにスタイルシートで装飾(幅)の指定をしています。
height属性
<input name=
"nipImage" type= "image" src= "../Img/G01/hatena01k.gif" alt= "ImageButton" height= "45" >
heightは、inputの視覚コンテンツの寸法 (それぞれ出力メディアの公称方向に対する高さ) を CSS ピクセルで指定するように指定できます。属性を指定する場合、その値は有効な非負の整数である必要があります。
heightは、typeがimage
の時に有効です。
例示では、指定している値の効果を見れる様に意図的に実際の高さと異なる値を指定しています。素材の高さx幅は、40x30(px) です。
list属性
<form action=
"./fmreceive.htm"> <input name=
"nipText" type= "text" list= "idaDatalist" ><button name=
"nbtSender" value= "./foinput.htm#MH3LIST">ボタン</button> </form>
<datalist id=
"idaDatalist"> <option>ABC123</option>
<option>DEF456</option>
</datalist>
listは、ユーザーに提案される定義済みオプションをリストする要素を識別する為に使用されます。
存在する場合、その値は同じツリー内のdatalistの ID である必要があります。
提案ソース要素は、その要素がdatalistである場合、ツリー順序でツリー内の最初の要素であり、listの値と等しい ID を持ちます。listがない場合、またはその ID を持つ要素がない場合、またはその ID を持つ最初の要素がdatalistでない場合は、提案ソース要素はありません。
提案ソース要素がある場合、ユーザーエージェントがユーザーにinputの値を編集できるようにしている場合、ユーザーエージェントは、提案ソース要素によって表される提案を、使用されるコントロールの種類に適した方法でユーザーに提供する必要があります。適切な場合、ユーザーエージェントは、提案のラベルと値を使用して、ユーザーに提案を識別する必要があります。
ユーザーエージェントは、提案の数が多い場合は、提案ソース要素によって表される提案をフィルター処理し、最も関連性の高いものだけを含めるようにすることが推奨されます (たとえば、これまでのユーザーの入力に基づいて)。正確なしきい値は定義されていませんが、リストを 4 から 7 個の値に制限するのが妥当です。ユーザーの入力に基づいてフィルタリングする場合、ユーザーエージェントは、候補のラベルと値の両方で一致を検索する必要があります。ユーザーエージェントは、入力のバリエーションがマッチングプロセスにどのように影響するかを考慮する必要があります。Unicode 正規化を適用して、異なるキーボードまたは入力固有のメカニズムによって引き起こされる、基礎となる異なる Unicode コードポイントシーケンスがマッチングプロセスを妨げないようにする必要があります。大文字と小文字のバリエーションは無視する必要があります。これには、言語固有の大文字と小文字のマッピングが必要になる場合があります。ユーザーエージェントは、他のマッチング機能も提供できます。例として、異なる形式のかな同士 (または漢字) のマッチング、アクセントの無視、スペル修正の適用などがあります。
listは、typeがtext
, search
, tel
, url
, email
, date
, month
, week
, time
, datetime-local
, number
, range
, color
の時に有効です。
例示ではdatalistにidを指定して、「定義済みオプションのリストの識別子」としています。また見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
max属性
<input name=
"nipNumber" type= "number" max= "10" >
maxは、要素の許容値の範囲(最大値)を示します。
要素にmaxがあり、文字列を数値に変換するアルゴリズムをmaxの値に適用した結果が数値である場合、その数値が要素の最大値になります。そうでない場合、typeの現在の状態がデフォルトの最大値を定義する場合は、それが最大値になります。そうでない場合、要素には最大値はありません。
要素に周期ドメインがない場合、maxの値 (最大値) はminの値 (最小値) より小さくてはなりません。
maxは、typeがdate
, month
, week
, time
, datetime-local
, number
, range
, color
の時に有効です。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
maxlength属性
<input name=
"nipText" type= "text" maxlength= "5" >
maxlengthは、要素の値の最大長を示します。
要素に最大許容値の長さがある場合、要素のvalueの値の長さは、要素の最大許容値の長さ以下である必要があります。
maxlengthは、typeがtext
, search
, tel
, url
, email
, password
の時に有効です。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
min属性
<input name=
"nipNumber" type= "number" min= "5" >
minは、要素の許容値の範囲(最小値)を示します。
要素にminがあり、文字列を数値に変換するアルゴリズムをminの値に適用した結果が数値である場合、その数値が要素の最小値になります。そうでない場合、typeの現在の状態がデフォルトの最小値を定義する場合は、それが最小値になります。そうでない場合、要素には最小値はありません。
maxは、typeがdate
, month
, week
, time
, datetime-local
, number
, range
, color
の時に有効です。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
minlength属性
<input name=
"nipText" type= "text" minlength= "5" >
minlengthは、要素の値の最小長を示します。
minlengthは、typeがtext
, search
, tel
, url
, email
, password
の時に有効です。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
multiple属性
<input name=
"nipEmail" type= "email" multiple value= "aaa@yahoo.co.jp, bbb@yahoo.co.jp ">
multipleは、ユーザーが複数の値を指定できるかどうかを示すブール属性です。
multipleは、typeがemail
, file
の時に有効です。
name属性
<input name=
"nipText" type="text">
nameは、要素の名前を表します。
nameは、フォームの送信時やformの elements オブジェクトで使用されるフォームコントロールの名前を指定します。属性が指定されている場合、その値は空の文字列またはisindex
であってはなりません。isindex
以外では、name に空でない任意の値が許可されます。name_charset_
の ASCII 大文字と小文字を区別しない一致は特別です。valueのない Hidden コントロールの名前として使用した場合、送信時にvalueに送信文字エンコーディングで構成される値が自動的に与えられます。
nameはフォームコントロールの名前となるので、他の属性名などと重複しないように命名規則を事前に内部規則などで決めておくのが良いです。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
pattern属性
<input name=
"nipText" type= "text" pattern= "[A-Za-z]+" >
patternは、コントロールの値、またはmultipleが適用されて設定されている場合はコントロールの値をチェックする正規表現を指定します。
指定されている場合、属性の値は JavaScript の正規表現(入力パターン文字列)として適切である必要があります。 文法が文字列をパターンの拡張として解釈できない場合は、指定されていないものとして扱います。
inputにpatternが指定されている場合、作成者はパターンの説明を示す為にtitleを含める必要があります。ユーザーエージェントは、この属性が存在する場合、パターンが一致しないことをユーザーに通知するとき、またはツールヒントやコントロールがフォーカスを取得したときに支援技術によって読み上げられるなど、他の適切なタイミングでこの属性の内容を使用できます。
patternは、typeがtext
, search
, tel
, url
, email
, password
の時に有効です。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
placeholder属性
<input name=
"nipText" type= "text" placeholder= "placeholder" >
placeholderは、コントロールに値がない場合にユーザーのデータ入力を支援するための短いヒント (単語または短いフレーズ) を表します。ヒントは、サンプル値または予想される形式の簡単な説明になります。属性を指定する場合、その値には U+000A LINE FEED (LF) または U+000D CARRIAGE RETURN (CR) 文字が含まれていてはなりません。
placeholderは、ラベルの代わりに使用しないでください。より長いヒントやその他のアドバイステキストの場合は、titleの方が適しています。
placeholderは、typeがtext
, search
, tel
, url
, email
, password
, number
の時に有効です。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
popovertarget属性
<form action=
"./fmreceive.htm"> <input name=
"nipButton" type= "button" popovertarget= "idvPopover41" value="開閉"> </form>
<div id=
"idvPopover41" popover>Pop41</div>
popovertargetは、ポップオーバー要素を切り替え、表示、非表示にする対象とする。
指定されている場合、popovertargetの属性値は、popovertargetを持つボタンと同じツリー内のpopoverを持つ要素の ID である必要があります。
例示ではdivにidを指定して、ID としています。
popovertargetaction属性
<form action=
"./fmreceive.htm"> <input name=
"nipButton" type= "button" popovertarget= "idvPopover42" popovertargetaction= "show" value="開く"><br> <input name=
"nipButton" type= "button" popovertarget= "idvPopover42" popovertargetaction= "hide" value="閉じる"> </form>
<div id=
"idvPopover42" popover>Pop42</div>
popovertargetactionは、対象となるポップオーバー要素を切り替えるか、表示するか、非表示にするかを示します。
popovertargetactionは、次のキーワードと状態を持つ列挙属性です。
- toggle
- 対象となるポップオーバー要素を表示または非表示にします。
- show
- 対象となるポップオーバー要素を表示します。
- hide
- 対象のポップオーバー要素を非表示にします。
列挙属性と呼ばれる一部の属性は、有限の状態セットを取ります。このような属性の状態は、属性の値、各属性の仕様で指定されたキーワード/状態マッピングのセット、および属性の仕様で指定できる 2 つの特殊な状態を組み合わせることによって生成されます。これらの特殊な状態は、無効な値のデフォルトと欠落した値のデフォルトです。
この属性の欠落値のデフォルトと無効値のデフォルトは、どちらも切り替え状態(toggle)です。
例示ではdivにidを指定して、ID としています。
readonly属性
<input name=
"nipText" type= "text" readonly value= "Readonly">
readonlyは、ユーザーがフォームコントロールを編集できるかどうかを制御するブール属性です。指定すると、要素は変更できなくなります。
inputにreadonlyが指定されている場合、その要素は制約の検証から除外されます。
readonlyは、typeがtext
, search
, tel
, url
, email
, password
, date
, month
, week
, time
, datetime-local
, number
の時に有効です。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
required属性
<input name=
"nipText" type= "text" required>
requiredは、フォーム送信にコントロールが必要かどうかを表します。requiredはブール属性です。指定されている場合、要素は必須です。
要素が必須であり、その値の IDL 属性が適用され、モード値にあり、要素が変更可能であり、要素の値が空の文字列である場合、要素は欠落している状態になります。
requiredは、typeがtext
, search
, tel
, url
, email
, password
, date
, month
, week
, time
, datetime-local
, number
, checkbox
, radio
, file
の時に有効です。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
size属性
<input name=
"nipText" type= "text" size= "5" >
sizeは、視覚的なレンダリングで、要素の値を編集しているときにユーザーエージェントがユーザーに表示できるようにする文字数を指定します。
sizeが指定されている場合、その値は 0 より大きい有効な非負整数である必要があります。
属性が存在する場合、その値は非負整数を解析するための規則を使用して解析され、結果が 0 より大きい数値である場合、ユーザーエージェントは少なくともその文字数が表示されるようにする必要があります。
size IDL 属性は正の数のみに制限されており、デフォルト値は 20 です。
sizeは、typeがtext
, search
, tel
, url
, email
, password
の時に有効です。
src属性
<input name=
"nipImage" type= "image" src= "../Img/G01/hatena01k.gif" alt="ImageButton">
srcは、リソースのアドレスを表します。
srcは、typeがimage
の時に有効です。というか、typeがimage
の時にsrcは必ず存在し、ページングもスクリプト化もされていない非インタラクティブでオプションでアニメーション化された画像リソースを参照する、有効な空でない URL が含まれている必要があります。
step属性
<input name=
"nipNumber" type= "number" step= "2" >
stepは、許容される値を制限することで、値に期待される (および必要な) 粒度を示します。typeの現在の状態を定義するセクションでは、デフォルトのステップ、ステップスケール係数、および場合によってはデフォルトのステップベースも定義します。これらは、属性の処理に使用されます。
stepが指定されている場合、その値は、0 より大きい数値として解析される有効な浮動小数点数であるか、または文字列「any」に大文字と小文字を区別せずに一致する ASCII 値である必要があります。
any が指定された場合は、任意の精度で値を指定できます。
stepは、typeがdate
, month
, week
, time
, datetime-local
, number
, range
, color
の時に有効です。
type属性
<input name=
"nipHidden" type= "hidden" value="ValueHidden"> <label>Text
<input name= "nipText" type= "text" ></label><br> <label>Search
<input name= "nipSearch" type= "search" ></label><br> <label>Telephone
<input name= "nipTelephone" type= "tel" ></label><br> <label>URL
<input name= "nipURL" type= "url" ></label><br> <label>Email
<input name= "nipEmail" type= "email" ></label><br> <label>Password
<input name= "nipPassword" type= "password" ></label><br> <label>Date
<input name= "nipDate" type= "date" ></label><br> <label>Month
<input name= "nipMonth" type= "month" ></label><br> <label>Week
<input name= "nipWeek" type= "week" ></label><br> <label>Time
<input name= "nipTime" type= "time" ></label><br> <label>Local Date and Time
<input name= "nipDatetimelocal" type= "datetime-local" ></label><br> <label>Number
<input name= "nipNumber" type= "number" ></label><br> <label>Range
<input name= "nipRange" type= "range" ></label><br> <label>Color
<input name= "nipColor" type= "color" ></label><br> <label>Checkbox
<input name= "nipCheckbox" type= "checkbox" ></label><br> Radio <label>B1
<input name= "nipRadio" type= "radio" value="RadioB1"> </label> <label>B2 <input name= "nipRadio" type= "radio" value="RadioB2"> </label><br> <label>File Upload
<input name= "nipFile" type= "file" ></label><br> <label>Submit
<input name= "nipSubmit" type= "submit" ></label><br> <label>Image
<input name= "nipImage" type= "image" src="../Img/G01/hatena01k.gif" alt= "ImageButton"> </label><br> <label>Reset
<input name= "nipReset" type= "reset" ></label><br> <label>Button
<input name= "nipButton" type= "button" ></label><br>
typeは、要素のデータ型 (および関連するコントロール) を制御します。これは、次のキーワードと状態を持つ列挙属性です。
- hidden
- Hidden 任意の文字列 コントロールタイプはありません。
- text
- Text 改行のないテキスト テキストコントロール
- search
- Search 改行のないテキスト 検索コントロール
- tel
- Telephone 改行のないテキスト テキストコントロール
- url
- URL 絶対URL テキストコントロール
- Email メールアドレスまたはメールアドレスのリスト テキストコントロール
- password
- Password 改行のないテキスト (機密情報) データ入力を隠すテキストコントロール
- date
- Date 日付 (年, 月, 日) タイムゾーンなし 日付コントロール
- month
- Month タイムゾーンのない年と月で構成される日付 年月コントロール
- week
- Week タイムゾーンのない年と週番号で構成される日付 年週コントロール
- time
- Time タイムゾーンのない時間 (時間、分、秒、秒の小数部) 時刻コントロール
- datetime-local
- Local Date and Time タイムゾーンのない日付と時刻 (年、月、日、時、分、秒、秒の小数点以下) 日付と時刻コントロール
- number
- Number 数値 テキストコントロールまたはスピナーコントロール
- range
- Range 正確な値は重要ではないという追加の意味を持つ数値 スライダーコントロールまたは類似のもの
- color
- Color 8ビットの赤、緑、青の要素を持つsRGBカラー カラーピッカー
- checkbox
- Checkbox 定義済みのリストからの 0 個以上の値のセット チェックボックス
- radio
- Radio Button 列挙値 ラジオボタン
- file
- File Upload MIME タイプとオプションでファイル名を持つ 0 個以上のファイル ラベルとボタン
- submit
- Submit Button 列挙値。最後に選択された値でなければならず、フォームの送信を開始するという追加の意味を持つ。 ボタン
- image
- Image Button 特定の画像のサイズを基準とした座標。最後に選択された値でなければならず、フォームの送信を開始するという追加の意味を持つ。 クリック可能な画像またはボタン
- reset
- Reset Button データ・タイプはありません。 ボタン
- button
- Button データ・タイプはありません。 ボタン
列挙属性と呼ばれる一部の属性は、有限の状態セットを取ります。このような属性の状態は、属性の値、各属性の仕様で指定されたキーワード/状態マッピングのセット、および属性の仕様で指定できる 2 つの特殊な状態を組み合わせることによって生成されます。これらの特殊な状態は、無効な値のデフォルトと欠落した値のデフォルトです。
この属性の欠落値のデフォルトと無効値のデフォルトはどちらもテキスト状態です。
value属性
<input name=
"nipText" type= "text" value= "ABC123" >
valueは、inputのデフォルト値を指定します。
value コンテンツ属性が追加、設定、または削除されるときに、コントロールのダーティ値フラグが false の場合、ユーザーエージェントは、value コンテンツ属性がある場合はその値に要素の値を設定し、ない場合は空の文字列に設定してから、現在の値サニタイズアルゴリズムが定義されている場合はそれを実行する必要があります。
例示では見易さの為に、inputにスタイルシートで装飾(幅)の指定をしています。
width属性
<input name=
"nipImage" type= "image" src= "../Img/G01/hatena01k.gif" alt= "ImageButton" width= "35" >
widthは、inputの視覚コンテンツの寸法 (それぞれ出力メディアの公称方向に対する幅) を CSS ピクセルで指定するように指定できます。属性を指定する場合、その値は有効な非負の整数である必要があります。
widthは、typeがimage
の時に有効です。
例示では、指定している値の効果を見れる様に意図的に実際の幅と異なる値を指定しています。素材の高さx幅は、40x30(px) です。
5.Web API
name属性を用いて
form要素
(HTMLFormElement
オブジェクト)の
プロパティとして
要素を取得する方法が
お勧めです。
input
<form action=
"./fmreceive.htm" oninput= "this.nouOutput.value = this.nipInput1511.valueAsNumber + this.nipInput1512.valueAsNumber"> <input id=
"iipInput01" name= "nipInput1511" type= "number" value= "1"> + <input id=
"iipInput02" name= "nipInput1512" type= "number" value= "2"> = <output name=
"nouOutput" for= "iipInput01 iipInput02">3</output> <button name=
"nbtSender" value= "./foinput.htm#MAP5NEXT">ボタン</button> </form>
input
例示に於いて、見易さの為にinput
6.レンダリング
input {
display: inline-block;
text-align: initial;
}
input
コードを見易くする為に要素毎に改行すると、改行コードがスペースと扱われて意図しない隙間が表れる事があります。 描画を重視するかコードの見易さを重視するか、折衷案でタグの内で改行するか、いろいろ配慮が必要です。
<form action=
"./fmreceive.htm"> <label><input name=
"nipRadio" type= "radio" value= "radio01" checked"> label01</label> <label><input name=
"nipRadio" type= "radio" value= "radio02"> label02</label> <button name=
"nbtSender" value= "./foinput.htm#MAP6NEXT">ボタン</button> </form>
input
この例示では、それを囲むコンテナボックスに幅の指定をしていて、途中で折り返さない様にしています。
7.気を付ける点
フォームの所有者
input
名前
nameを用いて名前を付ける時に、プロパティの名称と同じだとアクセスに干渉する事が考えられます。故に命名には内部規則として命名規則を事前に決めておくのが良いと思います。
尚nameがなくて名前が付いていないと、送信対象とならないみたいです。
dirnameを用いる時にも、他のフォーム送信に於けるデータの名前と重複しない様に、命名には内部規則として命名規則を事前に決めておくのが良いと思います。