since: 31st/Aug./2001; last modified: 29th/Sep./2001
Form モジュールã¯ãƒ•ォームをã¤ãる為ã®è«¸è¦ç´ タイプを定義ã—ã¦ã„ã¾ã™ã€‚内容セットã§ã¯ Form
ã«å±žã—〠form
è¦ç´ タイプã¯ã€DTD ã§ã¯ %BlkSpecial.class;
ã«å®šç¾©ã•れã¦ãŠã‚Šã€ãã®å†…容モデルã§å®šç¾©ã•れã¦ã„る諸è¦ç´ タイプ㯠%Inline.class;
ã«å®šç¾©ã•れã¦ã„ã¾ã™ã€‚
button, fieldset, form, input,
label, legend, select, optgroup,
option, textarea
è¦ç´ | 属性 | 最å°å†…容モデル |
---|---|---|
form |
Common ,
accept (ContentTypes),
accept-charset (Charsets),
action * (URI),
method ("get "* | "post "),
enctype (ContentType) |
(Heading | List | Block - Form | fieldset)+ |
input |
Common ,
accept (ContentTypes),
accesskey (Character),
alt (Text),
checked ("checked "),
disabled ("disabled "),
maxlength (Number),
name (CDATA),
readonly ("readonly "),
size (Number),
src (URI),
tabindex (Number),
type ("text "* | "password " | "checkbox " | "button " | "radio " | "submit " | "reset " | "file " | "hidden " | "image "),
value (CDATA) |
EMPTY |
select |
Common ,
disabled ("disabled "),
multiple ("multiple "),
name (CDATA),
size (Number),
tabindex (Number) |
(optgroup | option)+ |
option |
Common ,
disabled ("disabled "),
label (Text),
selected ("selected "),
value (CDATA) |
PCDATA |
textarea |
Common ,
accesskey (Character),
cols * (Number),
disabled ("disabled "),
name (CDATA),
readonly ("readonly "),
rows * (Number),
tabindex (Number) |
PCDATA |
button |
Common ,
accesskey (Character),
disabled ("disabled "),
name (CDATA),
tabindex (Number),
type ("button " | "submit "* | "reset "),
value (CDATA) |
(PCDATA | Headings | List | Block - Form | Inline - Formctrl )* |
fieldset |
Common |
(PCDATA | legend | Flow)* |
label |
Common ,
accesskey (Character),
for (IDREF) |
(PCDATA | Inline - label)* |
legend |
Common ,
accesskey (Character) |
(PCDATA | Inline)+ |
optgroup |
Common ,
disabled ("disabled "),
label * (Text) |
option+ |
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯äºŒã¤ã®å†…容セットを定義ã™ã‚‹ï¼š
Form
form | fieldset
Formctrl
input | select | textarea | label | button
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒä½¿ã‚れるã¨ãã¯ã€ãƒ†ã‚スト・モジュールã§å®šç¾©ã•れã¦ã„ã‚‹ã€å†…容セット Block
ã«å†…容セット Form
ã‚’åŠ ãˆã€å†…容セット Inline
ã«å†…容セット Formctrl
ã‚’åŠ ãˆã‚‹ã€‚
ã“ã“ã§æŒ™ã’ãŸå±žæ€§ã®ä»–ã«ã€çµ„ã¿è¾¼ã¿ã‚¤ãƒ™ãƒ³ãƒˆãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã‚ˆã‚‹è¿½åŠ å±žæ€§ãŒå®šç¾©ã•れる。
form
è¦ç´ タイプform
è¦ç´ ã¯ãƒ•ォーム内容ã®ã‚³ãƒ³ãƒ†ãƒŠã¨ã—ã¦æ©Ÿèƒ½ã™ã‚‹ãƒ–ãƒãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ã®è¦ç´ ã§ã™ã€‚フォームコントãƒãƒ¼ãƒ«ã®å†…容ã¯ã€ action
属性値㮠URI ãŒæŒ‡ã—示ã™å‡¦ç†ã‚¨ãƒ¼ã‚¸ã‚§ãƒ³ãƒˆã«å—ã‘æ¸¡ã•れã¾ã™ã€‚
内容モデルã¯åŸºæœ¬çš„ã«ã¯ãƒ–ãƒãƒƒã‚¯ãƒ¬ãƒ™ãƒ«è¦ç´ ã§ã™ã€‚但ã—ã€åˆ¥ã® form
è¦ç´ ã¯å†…å®¹ã«æŒã¦ã¾ã›ã‚“。フォームコントãƒãƒ¼ãƒ«ã¯å…¨ã¦ãƒ†ã‚ストレベルã®è¦ç´ ãªã®ã§ã€ã“れらã¯åˆ¥ã®ãƒ–ãƒãƒƒã‚¯ãƒ¬ãƒ™ãƒ«è¦ç´ ã®å†…容ã¨ã—ã¦ç¾ã‚Œã¾ã™ï¼š
<form action="http://somesite.com/prog/adduser" method="post"> <p> First name: <input type="text" name="firstname" /><br /> Last name: <input type="text" name="lastname" /><br /> email: <input type="text" name="email" /><br /> <input type="radio" name="sex" value="Male" /> Male<br /> <input type="radio" name="sex" value="Female" /> Female<br /> <input type="submit" value="send" /> <input type="reset" /> </p> </form>
ãƒ•ã‚©ãƒ¼ãƒ ã«æ§‹é€ を与ãˆã‚‹ç‚ºã«ã€ fieldset
è¦ç´ を用ã„ã‚‹ã“ã¨ã‚‚ã‚りã¾ã™ï¼š
<form action="..." method="post"> <fieldset> <legend>å€‹äººæƒ…å ±</legend> ...フォームコントãƒãƒ¼ãƒ«çœç•¥... </fieldset> <fieldset> <legend>ステータス</legend> ...フォームコントãƒãƒ¼ãƒ«çœç•¥... </fieldset> <fieldset> <legend>スã‚ル</legend> ...フォームコントãƒãƒ¼ãƒ«çœç•¥... </fieldset> </form>
action
= urimethod
= get
|post
get
:
action
属性ã®å€¤ã«"?
" ã‚’åŠ ãˆã€ã“ã“ã« MIMEタイプ application/x-www-form-urlencoded
ã§ç¬¦å·åŒ–ã—ãŸãƒ•ォームデータ集åˆã‚’åŠ ãˆã‚‹ã€‚ã“ã®ã‚±ãƒ¼ã‚¹ã§ã¯ã€ãƒ•ォームデータ㯠ASCII コードã«é™ã‚‰ã‚Œã‚‹ã€‚a
è¦ç´ ã§ URI ã« "?
" を記述ã—ã¦ã‚‚å…¨ãåŒã˜ã€‚ã“ã®ã¨ãã¯ã€Œå€¤ï¼åå‰ã€ã‚’ &
ã§åŒºåˆ‡ã‚‹ã€‚QUERY_STRING
ã«æ ¼ç´ã•れる。長ã•制é™ãŒã‚ã‚‹å ´åˆãŒã‚ã‚‹ã®ã§ã€ä¸€èˆ¬ã«ã¯ post
ãŒä½¿ã‚れる。post
:
enctype
å±žæ€§ãŒæŒ‡å®šã™ã‚‹ MIME タイプã«ã‚ˆã£ã¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’生æˆã—〠action
属性値ãŒç¤ºã™ç›¸æ‰‹ã¨ HTTP ã® post トランザクションを行ãªã†ã€‚CONTENT_LENGTH
ã«ã¯ãƒ‡ãƒ¼ã‚¿ã®ãƒã‚¤ãƒˆæ•°ãŒã‚»ãƒƒãƒˆã•れã¦ãŠã‚Šã€ã“ã®é•·ã•ã ã‘æ¨™æº–入力ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’èªã¿å–る。enctype
= content-typemethod="post"
ã®ã¨ãã€ãƒ•ォームをサーãƒã«å—ã‘å–らã›ã‚‹å ´åˆã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„タイプを指定ã™ã‚‹ã€‚application/x-www-form-urlencoded
"
multipart/form-data
"
type="file"
ã® input
è¦ç´ ã¨ä½µç”¨ã™ã‚‹å ´åˆã«ä½¿ã‚れる。 accept-charset
= charset listUNKNOWN
"。ã“ã®ã¨ãã€é€šå¸¸ã¯ãƒ•ォームをå«ã‚€å½“è©²æ–‡æ›¸ã®æ–‡å—符å·åŒ–æ–¹æ³•ãŒæŽ¡ç”¨ã•れる。accept
= content-type-listtype="file"
ã® input
è¦ç´ ã‚’å‚照。 Common
onsubmit
= ScriptEvents
ã‚‚å‚ç…§ã®ã“ã¨ã€‚onreset
= ScriptEvents
ã‚‚å‚ç…§ã®ã“ã¨ã€‚formfield
è¦ç´ formfield
è¦ç´ ã¯ã€ form
è¦ç´ ã®å†…容ã«ã ã‘ç¾ã‚Œã€ãƒ•ォームコントãƒãƒ¼ãƒ«ã‚’æ§‹é€ åŒ–ã™ã‚‹ãŸã‚ã«ç”¨ã„ã¾ã™ã€‚
内容ã¯ã€å‡¦ç†å¯¾è±¡ã®æ–‡å—列 (PCDATA) 㨠legend
è¦ç´ ã¨ä»»æ„ã®ãƒ–ãƒãƒƒã‚¯ãƒ¬ãƒ™ãƒ«åŠã³ãƒ†ã‚ストレベルã®è¦ç´ ã§ã™ã€‚但ã—ã€åˆ¥ã®ãƒ•ォームè¦ç´ や別㮠fieldset
è¦ç´ ã¯å†…å®¹ã«æŒãŸãªã„よã†ã«ã™ã¹ãã§ã—ょã†ã€‚
fieldset
è¦ç´ ã®å†…容ã«ã ã‘定義ã•れã¦ã„ã‚‹ legend
è¦ç´ ã¯ã€å½“該フィールドã®é ˜åŸŸåã€ã‚ャプションをマークアップã—ã¾ã™ã€‚ã“ã®è¦ç´ ã®ãŠé™°ã§ã€éžè¦–覚ユーザエージェントã§ã‚‚ã€å½“該フィールドã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
legend
è¦ç´ タイプã®å†…容ã¯ã€å‡¦ç†å¯¾è±¡ã®æ–‡å—列ã¨ä»»æ„ã®ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³è¦ç´ ã§ã™ã€‚但ã—ã€ãƒ•ォームコントãƒãƒ¼ãƒ«ã«å«ã¾ã‚Œã‚‹è¦ç´ ã¯å†…å®¹ã«æŒãŸãªã„よã†ã«ã™ã¹ãã§ã—ょã†ã€‚
fieldset
è¦ç´ ã®å±žæ€§Common
legend
è¦ç´ ã®å±žæ€§Common
accesskey
= Charactera
è¦ç´ ã® accesskey
属性ã¨åŒã˜ã§ã™ã€‚<form action="...çœç•¥..." method="post"> <fieldset> <legend accesskey="p">å€‹äººæƒ…å ±</legend> <p>...çœç•¥...</p> </fieldset> <fieldset> <legend accesskey="m">変é¡</legend> <p>...çœç•¥...</p> </fieldset> </form>
フォームコントãƒãƒ¼ãƒ«ã«ä»˜ã„ã¦ã¯ã€å®Ÿéš›ã®å ´é¢ã«å¿œã˜ã¦æ§˜ã€…ãªè¦æ±‚ãŒã‚りã€èª¬æ˜ŽãŒç…©é›‘ã«ãªã‚‹ã®ã§å‰²æ„›ã—ã¾ã™ã€‚注æ„点ã¨ã—ã¦ã€ä»¥ä¸‹ã®ã‚‚ã®ã‚’挙ã’ã¦ãŠãã¾ã™ï¼š
accesskey
㨠tabindex
を指定ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—ょã†ã€‚ />
" ã«ãªã‚Šã¾ã™ã€‚form
è¦ç´ ã®å†…容ã«ç›´æŽ¥è¨˜è¿°ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“。 fieldset
è¦ç´ ã‹ã€ãã®ä»–ã®ãƒ–ãƒãƒƒã‚¯ãƒ¬ãƒ™ãƒ«è¦ç´ ã®å†…容ã«è¨˜è¿°ã—ã¦ãã ã•ã„。