この要素は、内容としてユーザーが制御可能な入力用オブジェクト(フィールド、メニュー、ボタンなど)を含み、この範囲が入力フォームであることを示します。また、入力後に送信する際のHTTPメソッド、送信されたデータを処理するプログラムの指定、データの符号化方式の指定などを行います。
・onsubmit = スクリプト (CT)
onreset = スクリプト (CT)
onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
<!ATTLIST FORM
%attrs; -- %coreattrs, %i18n, %events --
action %URI; #REQUIRED -- server-side form handler --
method (GET|POST) GET -- HTTP method used to submit the form--
enctype %ContentType; "application/x-www-form-urlencoded"
accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
name CDATA #IMPLIED -- name of form for scripting --
onsubmit %Script; #IMPLIED -- the form was submitted --
onreset %Script; #IMPLIED -- the form was reset --
accept-charset %Charsets; #IMPLIED -- list of supported charsets --
>
以下の例では、フォームが送信されるとサーバーの「enquete」プログラムがそれを受け取ります。
<FORM action="http://zspc.com/prg/enquete" method="post">
・・・
</FORM>
以下の例では、フォームの内容をメールとして送信します。
<FORM action="mailto:webmaster@zspc.com" method="post">
・・・
</FORM>
この要素は、フォームで入力するための、ユーザーが制御可能な様々な入力用オブジェクトになります。
・onfocus = スクリプト (CT)
onblur = スクリプト (CT)
onselect = スクリプト (CT)
onchange = スクリプト (CT)
onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!ENTITY % InputType
"(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT | RESET | FILE | HIDDEN | IMAGE | BUTTON)"
>
<!-- attribute name required for all but submit & reset -->
<!ELEMENT INPUT - O EMPTY -- form control -->
<!ATTLIST INPUT
%attrs; -- %coreattrs, %i18n, %events --
type %InputType; TEXT -- what kind of widget is needed --
name CDATA #IMPLIED -- submit as part of form --
value CDATA #IMPLIED -- required for radio and checkboxes --
checked (checked) #IMPLIED -- for radio buttons and check boxes --
disabled (disabled) #IMPLIED -- unavailable in this context --
readonly (readonly) #IMPLIED -- for text and passwd --
size CDATA #IMPLIED -- specific to each type of field --
maxlength NUMBER #IMPLIED -- max chars for text fields --
src %URI; #IMPLIED -- for fields with images --
alt CDATA #IMPLIED -- short description --
usemap %URI; #IMPLIED -- use client-side image map --
ismap (ismap) #IMPLIED -- use server-side image map --
tabindex NUMBER #IMPLIED -- position in tabbing order --
accesskey %Character; #IMPLIED -- accessibility key character --
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
onselect %Script; #IMPLIED -- some text was selected --
onchange %Script; #IMPLIED -- the element value was changed --
accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
>
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
名前:<INPUT type="text" name="uname"><BR>
E-mail:<INPUT type="text" name="email"><BR>
<INPUT type="radio" name="sex" value="M">男性<BR>
<INPUT type="radio" name="sex" value="F">女性<BR>
・・・・・
<INPUT type="submit" value="送信">
<INPUT type="reset" value="クリア">
</P>
</FORM>
この要素は、INPUT要素で「button」形式を指定した場合と同様なボタンを作成します。ただし、このBUTTON要素を使用すると、ボタンに画像を利用して、押した時に引っ込むような表現をすることも可能になります。この要素の内容として画像を使うことはできますが、イメージマップを利用してはいけません。
・onfocus = スクリプト (CT)
onblur = スクリプト (CT)
onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!ENTITY % flow "%block; | %inline;">
<!ELEMENT BUTTON - - (%flow;)* -(A|%formctrl;|FORM|FIELDSET) -- push button -->
<!ATTLIST BUTTON
%attrs; -- %coreattrs, %i18n, %events --
name CDATA #IMPLIED
value CDATA #IMPLIED -- sent to server when submitted --
type (button|submit|reset) submit -- for use as form button --
disabled (disabled) #IMPLIED -- unavailable in this context --
tabindex NUMBER #IMPLIED -- position in tabbing order --
accesskey %Character; #IMPLIED -- accessibility key character --
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
>
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
名前:<INPUT type="text" name="uname"><BR>
E-mail:<INPUT type="text" name="email"><BR>
<INPUT type="radio" name="sex" value="M">男性<BR>
<INPUT type="radio" name="sex" value="F">女性<BR>
・・・・・
<BUTTON name="submit" type="submit" value="submit">
送信
<IMG src="images/send.gif" alt="データの送信">
</BUTTON>
<BUTTON name="reset" type="reset">
クリア
<IMG src="images/clear.gif" alt="入力内容のクリア">
</BUTTON>
</P>
</FORM>
この要素は、メニューを作成します。メニュー内の選択肢はOPTION要素によって指定されます。したがって、この要素内には最低1つ以上のOPTION要素を含んでいなければなりません。メニューの表示形式はブラウザに依存します。一般的にはプルダウンメニューやリストボックスとして表示されます。
・onfocus = スクリプト (CT)
onblur = スクリプト (CT)
onchange = スクリプト (CT)
onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
<!ATTLIST SELECT
%attrs; -- %coreattrs, %i18n, %events --
name CDATA #IMPLIED -- field name --
size NUMBER #IMPLIED -- rows visible --
multiple (multiple) #IMPLIED -- default is single selection --
disabled (disabled) #IMPLIED -- unavailable in this context --
tabindex NUMBER #IMPLIED -- position in tabbing order --
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
onchange %Script; #IMPLIED -- the element value was changed --
>
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
・・・
<SELECT name="place">
<OPTION selected >海</OPTION>
<OPTION>河口</OPTION>
<OPTION>川下流</OPTION>
<OPTION>川中流</OPTION>
<OPTION>川上流</OPTION>
</SELECT>
・・・
</P>
</FORM>
この要素は、SELECT要素で作成されるメニュー内の選択肢を作成します。この要素1つにつき、1つの選択肢がメニューに追加されます。
・onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!ELEMENT OPTION - O (#PCDATA) -- selectable choice -->
<!ATTLIST OPTION
%attrs; -- %coreattrs, %i18n, %events --
selected (selected) #IMPLIED
disabled (disabled) #IMPLIED -- unavailable in this context --
label %Text; #IMPLIED -- for use in hierarchical menus --
value CDATA #IMPLIED -- defaults to element content --
>
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
・・・
<SELECT name="place">
<OPTION selected >海</OPTION>
<OPTION>河口</OPTION>
<OPTION>川下流</OPTION>
<OPTION>川中流</OPTION>
<OPTION>川上流</OPTION>
</SELECT>
・・・
</P>
</FORM>
この要素は、SELECT要素で作成されるメニューの選択肢(OPTION要素)をグループ化します。特に選択肢が多い場合などに、関連する選択肢をまとめてグループ化しておくと選択可能な内容を把握しやすくなります。この要素はSELECT要素内で使用され、少なくとも1つ以上のOPTION要素を含んでいなければなりません。また、この要素を入れ子にすることはできません。
・onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
<!ATTLIST OPTGROUP
%attrs; -- %coreattrs, %i18n, %events --
disabled (disabled) #IMPLIED -- unavailable in this context --
label %Text; #REQUIRED -- for use in hierarchical menus --
>
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
・・・
<SELECT name="ECOGEAR">
<OPTGROUP label="グラスミノー">
<OPTION selected label="S" value="gm_S">
ECOGEAR グラスミノー S
</OPTION>
<OPTION label="M" value="gm_M">
ECOGEAR グラスミノー M
</OPTION>
<OPTION label="L" value="gm_L">
ECOGEAR グラスミノー L
</OPTION>
</OPTGROUP>
<OPTGROUP label="グラブ">
<OPTION label="S" value="g_S">
ECOGEAR グラブ S
</OPTION>
<OPTION label="M" value="g_M">
ECOGEAR グラブ M
</OPTION>
<OPTION label="L" value="g_L">
ECOGEAR グラブ L
</OPTION>
</OPTGROUP>
</SELECT>
・・・
</P>
</FORM>
この要素は、複数行の入力が可能なテキストフィールドを作成します。この要素の内容は、テキストフィールドの初期値として表示されます。
・onfocus = スクリプト (CT)
onblur = スクリプト (CT)
onselect = スクリプト (CT)
onchange = スクリプト (CT)
onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field -->
<!ATTLIST TEXTAREA
%attrs; -- %coreattrs, %i18n, %events --
name CDATA #IMPLIED
rows NUMBER #REQUIRED
cols NUMBER #REQUIRED
disabled (disabled) #IMPLIED -- unavailable in this context --
readonly (readonly) #IMPLIED
tabindex NUMBER #IMPLIED -- position in tabbing order --
accesskey %Character; #IMPLIED -- accessibility key character --
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
onselect %Script; #IMPLIED -- some text was selected --
onchange %Script; #IMPLIED -- the element value was changed --
>
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
・・・
<TEXTAREA name="howtoget" rows="5" cols="60">
この範囲に記述した文字が、テキストフィールドの初期値として表示されます。
</TEXTAREA>
・・・
</P>
</FORM>
この要素は、入力文字数に制限のない1行のテキストフィールドを作成します。この要素は廃止される予定ですので、1行のテキストフィールドを利用したい場合には代わりにINPUT要素を使用してください。
<!ELEMENT ISINDEX - O EMPTY -- single line prompt -->
<!ATTLIST ISINDEX
%coreattrs; -- id, class, style, title --
%i18n; -- lang, dir --
prompt %Text; #IMPLIED -- prompt message --
>
<ISINDEX prompt="検索する文字を入力してください:">
この要素は、フォーム中のユーザーが制御可能な入力用オブジェクトのうち、「value」属性によってラベルをつけることのできないものに対して、ラベルなどの情報を付加するために使用されます。1つのLABEL要素につき、1つの入力用オブジェクトに対して使用されます。
・onfocus = スクリプト (CT)
onblur = スクリプト (CT)
onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text -->
<!ATTLIST LABEL
%attrs; -- %coreattrs, %i18n, %events --
for IDREF #IMPLIED -- matches field ID value --
accesskey %Character; #IMPLIED -- accessibility key character --
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
>
以下の例では、LABEL要素のfor属性に、テキストフィールドのid属性と同じ値を指定して、その関係を示しています。
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
<LABEL for="uname">名前:</LABEL>
<INPUT type="text" id="uname"><BR>
<LABEL for="email">E-mail:</LABEL>
<INPUT type="text" id="email"><BR>
<INPUT type="radio" name="sex" value="M">男性<BR>
<INPUT type="radio" name="sex" value="F">女性<BR>
・・・・・
<INPUT type="submit" value="送信">
<INPUT type="reset" value="クリア">
</P>
</FORM>
以下の例では、LABEL要素の内容としてテキストフィールドを含んで、その関係を示しています。
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
<LABEL>
名前:
<INPUT type="text" name="uname"><BR>
</LABEL>
<LABEL>
E-mail:
<INPUT type="text" name="email"><BR>
</LABEL>
<INPUT type="radio" name="sex" value="M">男性<BR>
<INPUT type="radio" name="sex" value="F">女性<BR>
・・・・・
<INPUT type="submit" value="送信">
<INPUT type="reset" value="クリア">
</P>
</FORM>
この要素は、関連するフォーム中のユーザーが制御可能な入力用オブジェクト(ラベルも含む)を、ひとまとめのグループにします。このようにグループ分けしておくことで、Tabキーや音声によって簡単にグループ間を移動することができるようになります。
・onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!-- #PCDATA is to solve the mixed content problem, per specification only whitespace is allowed there! -->
<!ENTITY % flow "%block; | %inline;">
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group -->
<!ATTLIST FIELDSET
%attrs; -- %coreattrs, %i18n, %events --
>
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
<FIELDSET>
<LEGEND>個人情報</LEGEND>
名前:<INPUT type="text" name="uname" tabindex="1"><BR>
住所:<INPUT type="text" name="uaddrs" tabindex="2"><BR>
・・・・・
</FIELDSET>
・・・・・
・・・・・
</P>
</FORM>
この要素は、FIELDSET要素によってグループ化された入力オブジェクトやラベルに対して、タイトル(キャプション)を付けます。
・onclick = スクリプト (CT)
ondblclick = スクリプト (CT)
onmousedown = スクリプト (CT)
onmouseup = スクリプト (CT)
onmouseover = スクリプト (CT)
onmousemove = スクリプト (CT)
onmouseout = スクリプト (CT)
onkeypress = スクリプト (CT)
onkeydown = スクリプト (CT)
onkeyup = スクリプト (CT)
<!ELEMENT LEGEND - - (%inline;)* -- fieldset legend -->
<!ENTITY % LAlign "(top|bottom|left|right)">
<!ATTLIST LEGEND
%attrs; -- %coreattrs, %i18n, %events --
accesskey %Character; #IMPLIED -- accessibility key character --
>
<FORM action="http://zspc.com/prg/enquete" method="post">
<P>
<FIELDSET>
<LEGEND>個人情報</LEGEND>
名前:<INPUT type="text" name="uname" tabindex="1"><BR>
住所:<INPUT type="text" name="uaddrs" tabindex="2"><BR>
・・・・・
</FIELDSET>
・・・・・
・・・・・
</P>
</FORM>