<!DOCTYPE HTML> <html> <head> <link href="https://www.jb51.net/stylesheets/bootstrap.min.css" > </head> <body> <div> <br> <form><input type="text" value="Demonstrative focus state"> </form> </div> </body> </html>
8.禁用状态
为输入框设置 disabled 属性可以禁止其与用户有任何交互(焦点、输入等)。被禁用的输入框颜色更浅,并且还添加了 not-allowed 鼠标状态。
<input type="text" placeholder="Disabled input here..." disabled="">
被禁用的 fieldset
为<fieldset> 设置 disabled 属性,可以禁用 <fieldset> 中包含的所有控件。
<a> 标签的链接功能不受影响
默认情况下,浏览器会将 <fieldset disabled> 内所有的原生的表单控件(<input>、<select> 和 <button> 元素)设置为禁用状态,防止键盘和鼠标与他们交互。然而,如果如果表单中还包含 <a ...> 元素,这些元素将只被赋予 pointer-events: none 属性。正如在关于禁用状态的按钮章节中(尤其是关于锚点元素的子章节中)所描述的那样,该 CSS 属性尚不规范,并且在 Opera 18 及更低版本的浏览器或 Internet Explorer 11 总没有得到全面支持,并且不会阻止键盘用户能够获取焦点或激活这些链接。所以为了安全起见,建议使用自定义 JavaScript 来禁用这些链接。
跨浏览器兼容性
虽然 Bootstrap 会将这些样式应用到所有浏览器上,Internet Explorer 11 及以下浏览器中的 <fieldset> 元素并不完全支持 disabled 属性。因此建议在这些浏览器上通过 JavaScript 代码来禁用<fieldset>。
<!DOCTYPE HTML> <html> <head> <link href="https://www.jb51.net/stylesheets/bootstrap.min.css" > </head> <body> <form role="form"><div> <label for="inputPassword">禁用</label> <div> <input type="text" placeholder="该输入框禁止输入..." disabled> </div> </div> <fieldset disabled> <div> <label for="disabledTextInput">禁用输入(Fieldset disabled)</label> <div> <input type="text" placeholder="禁止输入"> </div> </div> <div> <label for="disabledSelect">禁用选择菜单(Fieldset disabled)</label> <div> <select> <option>禁止选择</option> </select> </div> </div> </fieldset> </form> </body> </html>
9.只读状态
为输入框设置 readonly 属性可以禁止用户修改输入框中的内容。处于只读状态的输入框颜色更浅(就像被禁用的输入框一样),但是仍然保留标准的鼠标状态。
<!DOCTYPE HTML> <html> <head> <link href="https://www.jb51.net/stylesheets/bootstrap.min.css" > </head> <body> <input type="text" placeholder="Readonly input here…" readonly=""> </body> </html>
10.校验状态
Bootstrap 对表单控件的校验状态,如 error、warning 和 success 状态,都定义了样式。使用时,添加 .has-warning、.has-error 或 .has-success 类到这些控件的父元素即可。任何包含在此元素之内的.control-label、.form-control 和 .help-block 元素都将接受这些校验状态的样式。
将验证状态传达给辅助设备和盲人用户
使用这些校验样式只是为表单控件提供一个可视的、基于色彩的提示,但是并不能将这种提示信息传达给使用辅助设备的用户 - 例如屏幕阅读器 - 或者色盲用户。
为了确保所有用户都能获取正确信息,Bootstrap 还提供了另一种提示方式。例如,你可以在表单控件的 <label> 标签上以文本的形式显示提示信息(就像下面代码中所展示的);包含一个 Glyphicon 字体图标 (还有赋予 .sr-only 类的文本信息 - 参考Glyphicon 字体图标实例);或者提供一个额外的 辅助信息 块。另外,对于使用辅助设备的用户,无效的表单控件还可以赋予一个 aria-invalid="true" 属性。