|
|
|
前页 | 后页 | 目录 | 元素 | 特性 表单控 件 可 以 是 复 选 框, 单 选 框, 标 签, 菜 单 等. 每 个 控 件 可 以 分 配 一 个 名 称. 当 表 单 被 提 交 时, 一 些 控 件 (取决于它们的状态) 的 名 称 和 当 前 值 随 表 单 一 起 发 送. 提 交 的 值 的 自 然 属 性 取 决 于 控 件 (例 如: 文 本 框 的 值 是 输 入 的 文 本). 注 意: 这 份 说 明 书 在 表单显示问题 中 包 含 了 更 多 的 关 于 表 单 的 细 节 信 息. 关 于 对 表 格 内 容 编 码 的 信 息 已 经 打 算 加 在 这 份 草 案 以 后 的 版 本 中. FORM 元素<!ELEMENT FORM - - %block -(FORM)> <!ATTLIST FORM %attrs;牋牋牋牋牋牋牋牋牋牋牋牋-- %coreattrs, %i18n, %events -- action牋牋%URL牋牋牋 #REQUIRED -- server-side form handler -- method牋牋(GET|POST) GET牋牋牋 -- HTTP method used to submit the form -- enctype牋牋 %ContentType; "application/x-www-form-urlencoded" onsubmit %Script #IMPLIED?-- the form was submitted -- onreset牋牋 %Script #IMPLIED?-- the form was reset -- target牋 CDATA牋 #IMPLIED?-- where to render result -- accept-charset CDATA牋 #IMPLIED?-- list of supported charsets -- ?>开 始 标 记: 需 要, 结 束 标 记: 需 要 特 性 定 义
这 个 特 性 的 缺 省 值 是 保 留 字 串 "UNKNOWN". 用 户 代 理 器 可 以 把 此 值 解 译 作 包 含 在 FORM 元 素 中 的 用 于 传 送 文 档 的 编 码 方 式.
在 FORM 元 素 中 任 何 特 性 的 name 特 性 有 效 范 围 是 FORM 元 素. 下 面 的 例 程 指 定 了 提 交 的 表 单 将 被 "adduser" 程 式 处 理. 这 个 表 单 将 通 过 HTTP POST 方 法 发 送 到 程 式. <FORM action="http://somesite.com/prog/adduser" method="post"> ?I>...form contents... </FORM>下 面 的 例 程 展 示 了 如 何 把 一 个 提 交 表 单 发 送 到 一 个 电 子 邮 件 地 址. <FORM action="mailto:Kligor.T@gee.whiz.com" method="post"> ?I>...form contents... </FORM> 控件下 面 的 控 件 元 素 通 常 出 现 于 一 个 FORM 元 素 声 明 中. 然 而, 这 些 元 素 当 用 来 建 立 用 户 接 口 时 也 可 以 出 现 在 FORM 元 素 声 明 外. 这 将 在 说 明 书 中 稍 后 讨 论, 在 内部事件 章 节 中.控件标签
对 于 那 些 含 有 暗 式 标 签 的 控 件, 用 户 代 理 器 应 当 把 value 特 性 值 作 为 标 签 字 串. 对 于 那 些 没 有 暗 式 标 签 的 控 件, 作 者 必 须 在 控 件 元 素 定 义 的 前 或 后 提 供 标 签. 举 例 说 明 如 下. INPUT 元素<!ENTITY % InputType ?"(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT | RESET | FILE | HIDDEN | IMAGE | BUTTON)" 牋 > <!-- HSPACE and VSPACE missing due to lack of widespread support --> <!ELEMENT INPUT - O EMPTY> <!ATTLIST INPUT ?%attrs;牋牋牋牋牋牋牋牋牋牋牋 -- %coreattrs, %i18n, %events -- type牋 %InputType牋 TEXT牋 -- what kind of widget is needed -- name牋牋 CDATA牋 #IMPLIED?-- required for all but submit & reset -- value牋牋牋 CDATA牋 #IMPLIED?-- required for radio and checkboxes -- checked牋 (checked) #IMPLIED?-- for radio buttons and check boxes -- disabled?(disabled)牋 #IMPLIED?-- control is 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牋牋牋牋 %URL牋牋牋 #IMPLIED?-- for fields with images -- alt牋牋牋牋 CDATA牋 #IMPLIED?-- description for text only browsers -- usemap牋 %URL牋牋牋 #IMPLIED?-- use client-side image map -- align牋牋牋 %IAlign #IMPLIED?-- vertical or horizontal alignment -- tabindex NUMBER牋牋 #IMPLIED?-- position in tabbing order -- 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牋 CDATA牋 #IMPLIED?-- list of MIME types for file upload -- ?>开 始 标 签: 需 要, 结 束 标 签: 禁 止 特 性 定 义
输入格式INPUT 元 素 的 type 特 性 定 义 了 哪 种 控 件 将 被 建 立.
数 个 在 同 一 个 表 单 中 的 复 选 框 可 以 使 用 同 一 个 名 称. 在 提 交 时, 每 一 个 "打 开" 的 具 有 相 同 名 称 的 复 选 框 使 用 相 同 的 名 称 组 件 提 交 一 个 名称/值 对. 这 允 许 用 户 代 理 器 对 给 定 的 属 性 选 择 超?过 一 个 的 值. 数 个 在 同 一 个 表 单 的 单 选 框 可 以 有 一 个 名 称. 然 而, 它 些 按 钮 中 在 同 一 个 时 刻 只 有 一 个 可 以 被 "打 开". 在 某 个 设 定 为 "打 开" 的 时 候, 所 有 相 关 的 按 钮 都 是 "关 闭". 因 此, 对 于 相 关 单 选 按 钮, 只 有 一 个 名称/值 对 被 提 交. 一 个 表 单 可 以 包 含 一 个 以 上 的 提 交 按 钮. 只 有 一 个 激 活 的 名称/值 对 与 表 单 一 起 被 提 交. 当 一 个 定 位 装 置 在 图 像 上 单 击 的 时 候, 表 单 被 提 交 并 且 位 置 被 传 送 到 服 务 器. x 值 是 从 图 像 的 左 面 开 始 的 以 像 素 为 单 位 的 尺 寸, 而?y 值 是 从 图 像 的 顶 端 开 始 的 以 像 素 为 单 位 的 尺 寸. 这 提 交 的 数 值 包 含?name.x=x-value 和 name.y=y-value 时, 这 里 的 "name" 是 name 特 性 值, 而 x-value 和 y-value 是 x 和 y 坐 标 各 自 的 值. 如 果 服 务 器 根 据 单 击 的 位 置 采 用 不 同 的 对 待,?使 用 非 图 案 化 浏 览 器 的 用 户 将 失 去 优 势. 由 于 这 个 原 因, 建 议 你 考 虑 轮 替 途 径:
<INPUT type="button" value="Click Me" onclick="verify()">请 参 见?内部事件 章 节 获 得 更 多 的 关于 脚 本 和 事 件 的 信 息. 这 个 控 件 格 式 通 常 被 用 来 保 存 客户端/服务器 之 间 的 可 能 被 HTTP 丢 失 的 交 换 信 息. INPUT 控 件 的 hidden 格 式 有 其 自 身 的 与 表 单 一 起 传 送 的 值. 共 同 包 含 于 中 的 也 不 被 渲 染 因 为 风 格 信 息 的 原 因. 下 列 的 控 件, 当 然 不 被 用 户 代 理 器 渲 染, 将 与 表 单 一 起 提 交 它 们 的 值. <INPUT type="password" style="display:none"牋 牋牋牋 name="invisible-password" 牋牋牋 value="mypassword"> 用 户 代 理 器 就 当 把 这 些 文 件 压 缩 封 装 为 一 个 MIME multipart 文 档 (参 见 [RFC2045]). 这 个 结 构 把 每 个 文 件 以 一 种 MIME multipart 的 格 式 压 缩 封 装 把 整 体 传 送 给 HTTP. 每 个 主 干 部 分 可 以 被 标 签 为 一 个 联 系 于 "Content-Type" 的 格 式, 包 括 如 果 需 要 一 个 "charset" 参 数 来 指 定 字 符 编 码. <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"> </FORM>这 个 表 单?会 被?如 下 渲 染:
在 此 例 中, 用 户 被 提 示 输 入 将 于 表 单 一 起 提 交 的 一 个 文 件 和 一 串 文 件 名 列 表. 通 过 指 定 enctype 值 为 "multipart/form-data", 每 个 文 件 的 内 容 均 在 存 放 于 一 个 multipart 文 档 的 单 独 的 部 分 中. <FORM action="http://server.dom/cgi/handle" enctype="multipart/form-data" method="post"> 燱hat is your name? <INPUT type="text" name="name_of_sender"> 燱hat files are you sending? <INPUT type="file" name="name_of_files"> </FORM>请 参 阅 [RFC1867] 来 获 得 更 多 的 关 于 文 件 提 交 的 信 息. ISINDEX 元素ISINDEX 是 不 赞 成 的. 用 户 应 当 使 用 INPUT 元 素 来 代 替 它.<!ELEMENT ISINDEX - O EMPTY> <!ATTLIST ISINDEX ?%coreattrs;牋牋牋牋牋牋牋牋牋 -- id, class, style, title -- 牋 %i18n;牋牋牋牋牋牋牋牋牋牋牋牋牋 -- lang, dir -- prompt牋 CDATA牋 #IMPLIED?-- prompt message -->开 始 标 记: 需 要, 结 束 标 记: 禁 止 特 性 定 义
下 面 的 ISINDEX 声 明: <ISINDEX prompt="Enter your search phrase: ">等 同 于 下 面 的 INPUT 声 时: <FORM action="..." method="post"> Enter your search phrase: <INPUT type="text"> </FORM>ISINDEX 的 语 义 问 题. 目 前, 只 有 当 编 码 文 当 的 基 URL 是 一 个 HTTP URL 时 ISINDEX 有 其 完 善 定 义 的 语 义. 在 实 践 中, 由 于 没 有 其 它 的 可 用 于 URL 结 构 的 不 同 字 符 集, 输 入 字 串 受 Latin-1 的 限 制 . BUTTON 元素<!ELEMENT BUTTON - - 牋牋 (%inline | %blocklevel)* -(A | %formctrl | FORM | ISINDEX | FIELDSET)> <!ATTLIST BUTTON ?%attrs;牋牋牋牋牋牋牋牋牋牋牋 -- %coreattrs, %i18n, %events -- name牋牋 CDATA牋 #IMPLIED?-- for scripting/forms as submit button -- value牋牋牋 CDATA牋 #IMPLIED?-- gets passed to server when submitted -- type (submit|reset) #IMPLIED?-- for use as form submit/reset button -- disabled牋 (disabled)?#IMPLIED?-- control is 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 -- ?>开 始 标 记: 需 要, 结 束 标 记: 需 要 特 性 定 义
一 个 格 式 为 "submit" 且 内 容 为 一 张 图 像 (如 IMG 元 素) 的 BUTTON 元 素 非 常 近 似 于 一 个 格 式 为 "image" 的 INPUT 元 素. 两 者 都 引 起 表 单 的 提 交, 但 它 们 的 表 现 不 同. 在 这 种 上 下 文 中, 一 个 INPUT 元 素 被 打 算 作 为 一 个 "flat" 图 像 渲 染, 而 一 个 BUTTON 被 打 算 作 为 一 个 按 钮 渲 染 (例 如 当 单 击 时 的 缓 动 和 上/下 阴 影). 下 面 的 例 程 通 过 BUTTON 按 钮 实 例 代 替 建 立 提 交 和 复 位 按 钮 的 INPUT 元 素 来 扩 展 了 前 例. 这 个 按 钮 通 过 IMG 元 素 来 包 含 图 像. <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> <BUTTON name="submit" value="submit" type="submit"> Send<IMG src="/icons/wow.gif" alt="wow"></BUTTON> <BUTTON name="reset" type="reset"> Reset<IMG src="/icons/oops.gif" alt="oops"></BUTTON> </FORM>如 果 一 个 BUTTON 与 IMG 元 素 一 起 使 用. 我 们 建 议 采 用 IMG 元 素 的 alt 特 性 来 提 供 一 个 描 述 给 看 不 到 这 个 图 像 的 用 户. 把 一 个 图 像 映 像 与 一 个 作 为 BUTTON
元 素 内 容 的 IMG
联 系 起 来 是 非 法 的.
非 法 例 程:
<BUTTON> <IMG src="foo.gif" usemap="..."> </BUTTON>一 个 格 式 为 "reset" 的 BUTTON 元 素 与 一 个 格 式 为 "reset" 的 INPUT 元 素 相 当 近 似. 两 种 情 况 都 控 制 重 新 获 得 初 始 值, 但 BUTTON 元 素 约 许 更 丰 富 的 展 现. BUTTON 元 素 也 能 够 与 脚 本 共 同 使 用, 在 这 种 情 况 下 它 的 type 应 当 为 "button". 当 这 样 的 一 个 按 钮 被 激 活 时, 一 个 客 户 端 脚 本 被 运 行. 我 们 在 这 个 说 明 书 的 后 面 的 内部事件 章 节 讨 论 BUTTON 的 使 用. SELECT 和?A NAME="edef-OPTION">OPTION 元素<!ELEMENT SELECT - - (OPTION+)> <!ATTLIST SELECT ?%attrs;牋牋牋牋牋牋牋牋牋牋牋 -- %coreattrs, %i18n, %events -- name牋牋 CDATA牋 #REQUIRED -- field name -- size牋牋 NUMBER牋牋 #IMPLIED?-- rows visible -- multiple?(multiple)牋 #IMPLIED?-- default is single selection -- disabled?(disabled)牋 #IMPLIED?-- control is 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 -- onselect %Script #IMPLIED?-- some text was selected -- onchange %Script #IMPLIED?-- the element value was changed -- ?>开 始 标 记: 需 要, 结 束 标 记: 需 要 SELECT 特 性 定 义
<!ELEMENT OPTION - O (#PCDATA)*> <!ATTLIST OPTION ?%attrs;牋牋牋牋牋牋牋牋牋牋牋 -- %coreattrs, %i18n, %events -- selected?(selected)牋 #IMPLIED disabled?(disabled)牋 #IMPLIED?-- control is unavailable in this context -- value牋牋牋 CDATA牋 #IMPLIED?-- defaults to element content -- ?>开 始 标 记: 需 要, 结 束 标 记: 可 选 OPTION 特 性 定 义
SELECT 后 跟 提 提 交 与 复 位 按 钮. <FORM action="http://somesite.com/prog/component-select" method="post"> 牋 <SELECT multiple size="4" name="component-select"> 牋 <OPTION selected value="Component_1_a">Component_1</OPTION> 牋 <OPTION selected value="Component_1_b">Component_2</OPTION> 牋 <OPTION>Component_3</OPTION> 牋 <OPTION>Component_4</OPTION> 牋 <OPTION>Component_5</OPTION> 牋 <OPTION>Component_6</OPTION> 牋 <OPTION>Component_7</OPTION> 牋 </SELECT> 牋 <INPUT type="submit" value="Send"><INPUT type="reset"> </FORM>当 表 单 被 提 供 时, 每 个 选 择 项 目 将 与 "component-select" 名 称 成 对 并 提 交. 提 交 的 每 个 OPTION 的 值 则 是 它 的 风 容, 除 非 在 哪 里 使 用 了 value 特 性 来 覆 盖 它 (这 里 的 前 两 个 组 件). TEXTAREA 元素<!ELEMENT TEXTAREA - - (#PCDATA)*> <!ATTLIST TEXTAREA ?%attrs;牋牋牋牋牋牋牋牋牋牋牋 -- %coreattrs, %i18n, %events -- name牋牋 CDATA牋 #REQUIRED rows牋牋 NUMBER牋牋 #REQUIRED cols牋牋 NUMBER牋牋 #REQUIRED disabled?(disabled)牋 #IMPLIED?-- control is unavailable in this context -- readonly?(readonly)牋 #IMPLIED tabindex NUMBER牋牋 #IMPLIED?-- position in tabbing order -- 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 -- ?>开 始 标 记: 需 要, 结 束 标 记: 需 要?/B> 特 性 定 义
<FORM action="http://somesite.com/prog/text-read" method="post"> 牋 <TEXTAREA rows="20" cols="80"> 牋 First line of initial text. 牋 Second line of initial text. 牋 </TEXTAREA> 牋 <INPUT type="submit" value="Send"><INPUT type="reset"> </FORM>设 置 readonly 特 性 允 许 作 者 在 TEXTAREA 显 示 不 可 修 改 的 文 本. 这 不 同 于 在 文 档 中 使 用 标 准 标 注 文 本 因 为 TEXTAREA 的 值 与 表 单 一 起 被 提 交. 当 提 交 域 内 容 时 建 议 用 户 代 理 器 遵 照 CR, LF (ASCII 10 进 制 13, 10) 行 结 束 准 则. 提 交 数 据 的 字 符 集 应 当 为 ISO Latin-1, 除 非 服 器 器 预 先 指 定 可 以 支 持 轮 替 的 字 符 集. LABEL 元素<!ELEMENT LABEL - - (%inline)* -(LABEL) -- field label text --> <!ATTLIST LABEL ?%attrs;牋牋牋牋牋牋牋牋牋牋牋 -- %coreattrs, %i18n, %events -- for牋牋牋牋 IDREF牋 #IMPLIED?-- matches field ID value -- disabled (disabled) #IMPLIED?-- control is unavailable in this context -- accesskey牋 CDATA牋 #IMPLIED?-- accessibility key character -- onfocus牋牋 %Script #IMPLIED?-- the element got the focus -- onblur牋 %Script #IMPLIED?-- the element lost the focus -- ?>开 始 标 记: 需 要, 结 束 标 记: 需 要 特 性 定 义
当 一 个 LABEL 元 素 得 到 焦 点 时, 它 把 焦 点 传 送 到 与 之 相 关 的 控 件. 查 见 下 面 的 access keys 章 节 例 程. 为 了 显 式 地 把 一 个 标 签 联 系 到 控 件, 参 见 LABEL 的 for 特 性. 这 个 例 程 建 立 一 个 表 格 来 对 齐 两 个 INPUT 控 件 以 及 相 应 的 关 联 标 签. 每 个 标 签 到 显 式 地 联 接 到 一 个 INPUT 元 素. <FORM action="..." method="post"> <TABLE> ?<TR> <TD><LABEL for="fname">First Name</LABEL> <TD><INPUT type="text" name="firstname" id="fname"> ?<TR> <TD><LABEL for="lname">Last Name</LABEL> <TD><INPUT type="text" name="lastname" id="lname"> </TABLE> <FORM>这 个 例 程 以 包 含 LABEL 元 素 扩 展 了 前 例. 注 意 LABEL 元 素 通 过 id 特 性 与 INPUT 元 素 联 接. <FORM action="http://somesite.com/prog/adduser" method="post"> <P> <LABEL for="firstname">First name: </LABEL><INPUT? 牋牋牋牋牋 type="text" id="firstname"><BR> <LABEL for="lastname">Last name: </LABEL><INPUT? 牋牋牋牋牋 type="text" id="lastname"><BR> <LABEL for="email"email: </LABEL><INPUT? 牋牋牋牋牋 type="text" id="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"> </FORM>一 个 以 上 的 LABEL 可 以 通 过 for 特 性 建 立 多 参 照 被 联 接 到 同 一 个 控 件. 为 了 隐 式 地 把 一 个 标 签 联 系 到 另 一 个 控 件, 来 控 制 LABEL 的 内 容. 这 种 情 况 下, LABEL 只 可 以 包 含 一 个 其 它 控 件 元 素. 标 签 本 身 可 以 在 联 系 控 件 的 前 面 或 后 面. 在 此 例 中, 我 们 隐 式 地 把 两 个 标 签 联 系 到 两 个 INPUT 元 素. 注 意 隐 式 方 法 阻 止 我 们 在 表 格 中 划 分 标 签 和 与 之 相 关 的 控 件 (参 见 前 例). <FORM action="..." method="post"> <LABEL> 牋 First Name 牋 <INPUT type="text" name="firstname"> </LABEL> <LABEL> 牋 <INPUT type="text" name="lastname"> 牋 Last Name </LABEL> </FORM> FIELDSET 和?A NAME="edef-LEGEND">LEGEND 元素<!-- ?#PCDATA is to solve the mixed content problem, ?per specification only whitespace is allowed there! ?-> <!ELEMENT FIELDSET - - (#PCDATA,LEGEND,%block)> <!ATTLIST FIELDSET ?%attrs;牋牋牋牋牋牋牋牋牋牋牋 -- %coreattrs, %i18n, %events -- ?> <!ELEMENT LEGEND - - (%inline;)+> <!ENTITY % LAlign "(top|bottom|left|right)"> <!ATTLIST LEGEND牋牋牋牋 -- fieldset legend -- ?%attrs;牋牋牋牋牋牋牋牋牋牋牋 -- %coreattrs, %i18n, %events -- align牋牋牋 %LAlign;牋 #IMPLIED?-- relative to fieldset -- accesskey牋 CDATA牋 #IMPLIED?-- accessibility key character -- ?>开 始 标 记: 需 要, 结 束 标 记: 需 要 LEGEND 特 性 定 义
LEGEND 元 素 允 许 设
计 者 为 一 个 FIELDSET
分 配 一 个 标 签. 当 FIELDSET
被 渲 染 为 不 可 视 时 它 提 高 了 处 理 能 力. 当 渲 染 为 可 视 时,
设 定 LEGEND 元 素 的 align
特 性 可 以 使 之 对 齐 于 FIELDSET.?!-- the name was changed from CAPTION since a major vendor reported
implementation difficulties in using CAPTION for both FIELDSET
and TABLE, apparently associated will error recovery code -->
<FORM action="..." method="post"> <FIELDSET> <LEGEND align="top">Personal Information</LEGEND> Last Name: <INPUT name="personal_lastname" type="text" tabindex="1"> First Name: <INPUT name="personal_firstname" type="text" tabindex="2"> Address: <INPUT name="personal_address" type="text" tabindex="3"> ...more personal information... </FIELDSET> <FIELDSET> <LEGEND align="top">Medical History</LEGEND> <INPUT name="history_illness"? 牋牋牋 type="checkbox"? 牋牋牋 value="Smallpox" tabindex="20"> Smallpox</INPUT> <INPUT name="history_illness"? 牋牋牋 type="checkbox"? 牋牋牋 value="Mumps" tabindex="21"> Mumps</INPUT> <INPUT name="history_illness"? 牋牋牋 type="checkbox"? 牋牋牋 value="Dizziness" tabindex="22"> Dizziness</INPUT> <INPUT name="history_illness"? 牋牋牋 type="checkbox"? 牋牋牋 value="Sneezing" tabindex="23"> Sneezing</INPUT> ...more medical history... </FIELDSET> <FIELDSET> <LEGEND align="top">Current Medication</LEGEND> Are you currently taking any medication?? <INPUT name="medication_now"? 牋牋牋 type="radio"? 牋牋牋 value="Yes" tabindex="35">Yes</INPUT> <INPUT name="medication_now"? 牋牋牋 type="radio"? 牋牋牋 value="No" tabindex="35">No</INPUT> If you are currently taking medication, please indicate it in the space below: <TEXTAREA name="current_medication"? 牋牋牋 rows="20" cols="50" 牋牋牋 tabindex="40"> </TEXTAREA> </FIELDSET> </FORM>注 意 在 此 例 中, 我 们 可 以 通 过 在 每 个 在 FIELDSET 中 对 齐 元 素 (通 过 风 格 页), 加 入 脚 本 ( 就 是 说, 只 有 当 他 或 她 打 开 "current medication" 文 本 区 域 表 示 还 在 用 药 中) 等 等 来 提 高 表 单 的 展 现. 给一个元素焦点在 HTML 活 动 元 素 必 须 由 于 用 户 的 打 算 的 任 务 而 得 到?得 到 焦 点. 例 如, 用 户 必 须 激 活 一 个 由 A 元 素 指 定 的 链 接 来 追 随 指 定 的 链 接. 类 似 的, 用 户 代 理 器 为 输 入 文 字 而 给 一 个 TEXTAREA 赋 于 焦 点.有 数 个 方 法 把 焦 点 赋 于 一 个 元 素:
制表键导航特 性 定 义 制 表 键 次 序 指 定 了当 用 户 通 过 键 盘 导 航 时 哪 个 元 素 将 得 到 焦 点. 制 表 键 次 序 可 以 在 其 它 嵌 套 元 素 中 间 包 含 元 素.应 当 被 用 户 代 理 器 导 航 获 得 焦 点 的 元 素 根 据 下 列 原 则:
<HTML> <BODY> ...some text... Click to go to the? <A tabindex="10" href="http://www.w3.org/">W3C Website.</A> ...some more... <BUTTON type="button" name="get-database" 牋牋牋牋牋 tabindex="1" onclick="get-database"> Click me to receive the current database. </BUTTON> ...some more... <FORM action="..." method="post"> <INPUT tabindex="1" type="text" name="field1"> <INPUT tabindex="2" type="text" name="field2"> <INPUT tabindex="3" type="submit" name="submit"> </FORM> </BODY> </HTML>制 表 键. 在 用 户 的 定 义 中 的 实 际 的 键 次 序 引 起 制 表 键 导 航 或 元 素 的 激 活 (例 如 "tab" 键 用 来 导 航 而 "enter" 则 与 激 活 选 定 元 素 相 关). 用 户 代 理 器 也 可 以 定 义 一 个 键 次 序 来 相 反 的 导 航 制 表 键 次 序. 当 到 达 制 表 键 次 序 的 最 后 ( 或 开 始 时), 用 户 代 理 器 会 绕 转 到 开 始 (或 结 尾). 热键
这 列 的 元 素 支 持 accesskey 特 性: LABEL, A, CAPTION 和 LEGEND. 这 个 例 程 指 定 热 键 "U" 给 一 个 联 系 于INPUT 控 件 的 标 签. 键 入 热 键 则 把 焦 点 发 送 到 标 签 并 依 次 给 予 相 关 的 控 件. 然 后 用 户 可 以 INPUT 区 域 中 输 入 文 字. <FORM action="..." method="post"> <LABEL for="user" accesskey="U"> User Name </LABEL> <INPUT type="text" name="user"> </FORM>在 此 例 中, 我 们 为 一 个 通 过 A 元 素 定 义 的 链 接 分 配 一 个 热 键. 键 入 此 键 可 以 把 用 户 带 到 另 一 个 文 档, 在 此 例 中 是 一 个 目 录 表 格. <A accesskey="C"? 牋 href="http://somplace.com/specification/index.html"> Table of Contents</A>热 键 的 实 现 取 决 于 下 层 系 统. 例 如, 在 运 行 MS Windows 的 机 构 上, 某 人 通 常 键 下 "alt" 键 作 为 额 外 的 热 键. 在 Apple 系 统 中, 某 人 通 常 按 下 "cmd" 键 作 为 额 外 的 热 键. 对 于 热 键 的 处 理 取 决 于 用 户 代 理 器. 我 们 建 议 用 户 在 标 签 中 包 含 热 键 或 指 明 提 供 的 热 键. 用 户 代 理 器 会 以 一 种 强 调 的 区 别 于 其 它 字 符 的 方 式 来 渲 染 热 键 的 角 色 (例 如 下 划 线). 禁止和只读元素哪 里 的 用 户 输 入 对 上 下 文 来 说 是 不 希 望?的 或 不 相 干,?能 够 禁 止 一 个 元 素 或 以 只 读 方 式 渲 染 一 个 元 素 是 重 要 的. 例 如, 某 人 可 能 希 望 禁 止 一 个 表 单 的 提 交 按 钮 直 到 某 些 需 要 的 数 据 被 输 入. 类 类 似 的, 一 个 作 者 可 能 希 望 包 含 一 条 只 读 文 字 并 必 须 能 够 作 为 一 个 值 与 表 单 一 起 被 提 交. 下 面 的 章 节 描 述 了 禁 止 的 和 只 读 的 元 素.禁止元素特 性 定 义
当 设 定 时, the disabled 特 性 具 有 下 列 对 元 素 的 影 响: 禁 止 元 素 如 何 被 渲 染 取 决 于 用 户 代 理 器. 例 如, 某 些 用 户 代 理 器 通 过 "gray out" 来 禁 止 下 拉 框 条 目, 按 钮 标 签 等 等. 在 此 例 中, 禁 止 的 INPUT 元 素 无 法 收 到 用 户 输 入 并 且 值 不 与 表 单 被 提 交. <INPUT disabled name="fred" value="stone">注 意: 唯 一 能 够 动 态 修 改 disabled 特 性 的 值 的 方 法 是 通 过 一 段 脚 本. 只读元素特 性 定 义 readonly 特 性 指 定 元 素 是 否 可 以 被 用 户 修 改.当 设 定 时, readonly
特 性 对 一 个 元 素 有 下 列 的 影 响:
只 读 元 素 如 何 被 渲 染 取 决 于 用 户 代 理 器. 注 意: 动 态 修 改 readonly 特 性 的 值 的 唯 一 方 法 是 通 过 一 段 脚 本. 表单提交哪个元素值 被 提交了并 非 所 有 元 素 和 它 们 的 值 与 表 单 被 提 交. 一 致 性 用 户 代 理 器 应 当 不 提 交: |