3-12 表单控件状态(禁用状态)
本节编程练习不计算学习进度,请电脑登录imooc.com操作

表单控件状态(禁用状态)

Bootstrap框架的表单控件的禁用状态和普通的表单禁用状态实现方法是一样的,在相应的表单控件上添加属性“disabled”。和其他表单的禁用状态不同的是,Bootstrap框架做了一些样式风格的处理:
/*源码请查看bootstrap.css文件第1723行~第1729行*/

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
cursor: not-allowed;
background-color: #eee;
opacity: 1;
}

使用方法为:只需要在需要禁用的表单控件上加上“disabled”即可:

<input class="form-control" type="text" placeholder="表单已禁用,不能输入" disabled>

运行效果如下或查看右侧结果窗口:

在使用了“form-control”的表单控件中,样式设置了禁用表单背景色为灰色,而且手型变成了不准输入的形状。如果控件中不使用类名“form-control”,禁用的控件只会有一个不准输入的手型出来。
/*源码请查阅bootstrap.css文件第1781行~第1794行*/

input[type="radio"][disabled],
input[type="checkbox"][disabled],
.radio[disabled],
.radio-inline[disabled],
.checkbox[disabled],
.checkbox-inline[disabled],
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"],
fieldset[disabled] .radio,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox,
fieldset[disabled] .checkbox-inline {
cursor: not-allowed;
}

在Bootstrap框架中,如果fieldset设置了disabled属性,整个域都将处于被禁用状态。

<form role="form">
<fieldset disabled>
  <div class="form-group">
  <label for="disabledTextInput">禁用的输入框</label>
    <input type="text" id="disabledTextInput" class="form-control" placeholder="禁止输入">
  </div>
  <div class="form-group">
  <label for="disabledSelect">禁用的下拉框</label>
    <select id="disabledSelect" class="form-control">
  <option>不可选择</option>
  </select>
  </div>
  <div class="checkbox">
  <label>
    <input type="checkbox">无法选择
  </label>
  </div>
  <button type="submit" class="btnbtn-primary">提交</button>
</fieldset>
</form>

运行效果如下或查看右侧结果窗口:

据说对于整个禁用的域中,如果legend中有输入框的话,这个输入框是无法被禁用的。我们一起来验证一下:

<form role="form">
<fieldset disabled>
<legend><input type="text" class="form-control" placeholder="显然我颜色变灰了,但是我没被禁用,不信?单击试一下" /></legend>
    …
</fieldset>
</form>

运行效果如下或查看右侧结果窗口:

 

 

 

 

任务

本小节没有代码任务,单击“提交”按钮进行下一个小节学习。

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>表单控件状态——禁用状态</title>
  6. <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
  7. </head>
  8. <body>
  9. <h3>示例1</h3>
  10. <form role="form" class="form-horizontal">
  11. <div class="form-group">
  12. <div class="col-xs-6">
  13. <input class="form-control input-lg" type="text" placeholder="不是焦点状态下效果">
  14. </div>
  15. <div class="col-xs-6">
  16. <input class="form-control input-lg" id="disabledInput" type="text" placeholder="表单已被禁用,不可输入" disabled>
  17. </div>
  18. </div>
  19. </form>
  20. <br>
  21. <br>
  22. <br>
  23. <h3>示例2</h3>
  24. <form role="form">
  25. <fieldset disabled>
  26. <div class="form-group">
  27. <label for="disabledTextInput">禁用的输入框</label>
  28. <input type="text" id="disabledTextInput" class="form-control" placeholder="禁止输入">
  29. </div>
  30. <div class="form-group">
  31. <label for="disabledSelect">禁用的下拉框</label>
  32. <select id="disabledSelect" class="form-control">
  33. <option>不可选择</option>
  34. </select>
  35. </div>
  36. <div class="checkbox">
  37. <label>
  38. <input type="checkbox"> 无法选择
  39. </label>
  40. </div>
  41. <button type="submit" class="btn btn-primary">提交</button>
  42. </fieldset>
  43. </form>
  44. <br>
  45. <br>
  46. <br>
  47. <h3>示例3</h3>
  48. <form role="form">
  49. <fieldset disabled>
  50. <legend><input type="text" class="form-control" placeholder="显然我颜色变灰了,但是我没被禁用,不信?单击试一下" /></legend>
  51. <div class="form-group">
  52. <label for="disabledTextInput">禁用的输入框</label>
  53. <input type="text" id="disabledTextInput" class="form-control" placeholder="禁止输入">
  54. </div>
  55. <div class="form-group">
  56. <label for="disabledSelect">禁用的下拉框</label>
  57. <select id="disabledSelect" class="form-control">
  58. <option>不可选择</option>
  59. </select>
  60. </div>
  61. <div class="checkbox">
  62. <label>
  63. <input type="checkbox"> 无法选择
  64. </label>
  65. </div>
  66. <button type="submit" class="btn btn-primary">提交</button>
  67. </fieldset>
  68. </form>
  69. </body>
  70. </html>
  1. body{
  2. padding: 100px;
  3. }
下一节