Blogger Information
Blog 94
fans 0
comment 0
visits 92702
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
【HTML】常用表单重点知识:重点总结
可乐随笔
Original
373 people have browsed it

常用表单重点知识

表单属性

1.action:服务器上处理表单的脚本;
2.method:提交方式
GET:少量且公开
POST:大量且加密

  1. enctype:值对编码方案(普通表单和分块文件上传)
    4.target
    5.id:使用ID引用表单
    6.onsubmit:事件属性,提交时执行的JS

表单类型

text/password/date/number/url/radio/select/textarea等

表单写法

重点属性介绍
1.name:value 名值对组合
2.required:必选项
3.readonly:只读,只能看,不能改,但能提交
4.disabled:禁用,只能看,不能改,不能提交
5.autocomplete:浏览器退回后保留原来的数据
6.number类型:min/max/step:限定表格中数据最大值和最小值及步长
7.date类型:min/max格式:1949-10-01/2000-01-01,表示只能选择这个时间区间
8.url类型:自带url类型验证
9.color类型:拾色器
10.upload类型:上传文件用,name不能用-线,可以用_线,input选择,button上传。
11.hidden隐藏域类型:不在页面显示,用来做赋值使用,一般都包含name和value。
12.range滑动条:可以有来做评星打分等用途。
13.progress进度条:双标签<progress></progress>,可以给max和value,不可以给min
14.radio单选框:

  1. - name:必须相同,以保证唯一性
  2. - input和它自己的label标签绑定,建议:男(male),女(female),保密(secret)
  3. - input.value <==> input.id <==> label.for 一致
  4. - checked: 默认选项,避免空提交
  5. - 总标签label.for和默认标签绑定

15.checkbox复选框
16.select+option下拉列表:name在select中,value在option中。

  1. - 实现提示的效果selected + disabled
  2. - name value 分别在selectoption
  3. - 选择过多,可以使用分组,optgroup
  4. - multiple:支持多选
  5. - <select required><option value=''> :可验证select必选。

17.textarea多行文本框:

  1. - textarea:没有value属性,它的值位于textarea标签之间
  2. - maxlength:最大长度
  3. - 可以使用CSS限制textarea固定大小

20.label标签for和input标签id内容一致,进行绑定
21.output功能与span功能类似,但更好用,用来做计算输出
22.每个表单控件都有一个form属性,都指向当前表单可以用来访问表单不同的控件中的值,很重要!

代码范例

  1. <form action="register.php" method="post" enctype="application/x-www-form-urlencoded">
  2. <fieldset>
  3. <!--表单分组-->
  4. <legend>分组名称:基本信息</legend>
  5. <div class="username">
  6. <label for="username">用户名:</label>
  7. <!--label的for和input的id内容一致,进行绑定-->
  8. <input type="text" id="username" name="username" placeholder="请输入用户名" required autocomplete/>
  9. </div>
  10. <div class="password">
  11. <label for="password">密码:</label>
  12. <!--label的for和input的id内容一致,进行绑定-->
  13. <input type="password" id="password" name="password" placeholder="请输入密码" required autocomplete/>
  14. <button onclick="this.previousElementSibling.type='text'">显示密码</button>
  15. </div>
  16. <div class="email">
  17. <label for="email">邮箱:</label>
  18. <!--email自带格式验证-->
  19. <input type="email" id="email" name="email" placeholder="请输入邮箱" required />
  20. </div>
  21. <div class="age">
  22. <label for="age">年龄:</label>
  23. <input type="number" id="age" name="age" min="18" max="80" placeholder="请输入年龄" required />
  24. </div>
  25. <div class="birthday">
  26. <label for="birthday">出生日期:</label>
  27. <input type="date" id="birthday" name="birthday" min="1949-10-01" max="2000-01-01" placeholder="请输入年龄" required />
  28. </div>
  29. <div class="blog">
  30. <label for="blog">网址:</label>
  31. <!--URL自带格式验证-->
  32. <input type="url" id="blog" name="blog" placeholder="请输入网址" required />
  33. </div>
  34. <div class="color">
  35. <label for="color">拾色器</label>
  36. <input type="color" name="color" id="color" value="#FFFF00" onchange="getColor(this)" />
  37. <output>#FFFF00</output>
  38. </div>
  39. <div class="serach">
  40. <label for="query">搜索:</label>
  41. <input type="search" name="search" id="search" placeholder="输入关键字">
  42. <button type="button">查询</button>
  43. </div>
  44. </fieldset>
  45. <fieldset>
  46. <legend>其他信息</legend>
  47. <!-- upload上传控件 -->
  48. <div class="upload">
  49. <label for="upload">头像:</label>
  50. <input type="file" name="name_pic" id="upload" />
  51. <button type="button">上传</button>
  52. </div>
  53. <!-- hidden 隐藏域 -->
  54. <input type="hidden" name="uid" value="10010" />
  55. <!-- type=range 滑动块 -->
  56. <div class="range">
  57. <label for="range">星级:</label>
  58. <input type="range" name="range" id="range" min="0" max="5" step="1" oninput="getStatus(this)" />
  59. <output>0</output>
  60. </div>
  61. <!-- progress 进度条 -->
  62. <div class="progress">
  63. <label>进度</label>
  64. <!-- min不要给 -->
  65. <progress name="progress" max="100" value="10"></progress>
  66. <output></output>
  67. <button type="button" onclick="handle(this)">+1</button>
  68. </div>
  69. </fieldset>
  70. <fieldset>
  71. <legend>预置内容:</legend>
  72. <!-- 预置内容:用户选择就好,不用输入。服务器90%的安装问题都是因为输入控件导致的。-->
  73. <!-- 常用预置表单有radio,select等 -->
  74. <div class="gender">
  75. <!-- 主标签使用默认的选项,点击主标签显示默认 -->
  76. <label for="secret">性别: </label>
  77. <!--
  78. 1. name:必须相同,以保证唯一性
  79. 2. input和它自己的label标签绑定,建议:男(male),女(female),保密(secret)
  80. 3. input.id <==> label.for必须一致,建议input.value也一致。
  81. 4. checked: 默认选项,避免空提交
  82. 5. 总标签label.for和默认标签绑定
  83. -->
  84. <input type="radio" name="gender" value="male" id="male"><label for="male"></label>
  85. <input type="radio" name="gender" value="female" id="female"><label for="female"></label>
  86. <input type="radio" name="gender" value="secret" id="secret" checked><label for="secret">保密</label>
  87. </div>
  88. <!-- checkbox 多选框 -->
  89. <div class="hobby">
  90. <!-- 不用绑定某个标签,可以去掉for -->
  91. <label>爱好:</label>
  92. <!--
  93. 1. name:hobby[],数组保存一个值或多个值
  94. 2. input.id <==> label.for一致
  95. -->
  96. <input type="checkbox" name="hobby[]" value="game" id="game"><label for="game">游戏</label>
  97. <input type="checkbox" name="hobby[]" value="trave" id="trave"><label for="trave">旅游</label>
  98. <input type="checkbox" name="hobby[]" value="shoot" id="shoot"><label for="shoot">摄影</label>
  99. <input type="checkbox" name="hobby[]" value="program" id="program"><label for="program">编程</label>
  100. </div>
  101. <!-- select + option下拉列表 -->
  102. <div class="edu">
  103. <label for="edu">学历:</label>
  104. <select name="edu" id="edu" multiple>
  105. <!--
  106. 1.实现提示的效果selected + disabled
  107. 2.name 和 value 分别在select和option中
  108. 3.选择过多,可以使用分组,optgroup
  109. 4.multiple:支持多选
  110. -->
  111. <option value="" selected disabled>--请选择--</option>
  112. <optgroup label="义务教育">
  113. <option value="1">小学</option>
  114. <option value="2">初中</option>
  115. <option value="3">高中</option>
  116. </optgroup>
  117. <optgroup label="高等教育">
  118. <option value="4">专科</option>
  119. <option value="5">本科</option>
  120. <option value="6">硕士</option>
  121. <option value="7">博士</option>
  122. </optgroup>
  123. </select>
  124. </div>
  125. <!-- datalist 数据列表 -->
  126. <div class="like">
  127. <label for="keyword">语言:</label>
  128. <!--
  129. 1.自带联想提示:预定义+自定义,即可实现自己输入,也能从预置中选择:input+select
  130. 2.input + dateList + option
  131. 3.input.list <==> datalist.id进行绑定
  132. -->
  133. <input type="search" name="language" list="details" id="keywork">
  134. <!-- input.list <==> datalist.id进行绑定 -->
  135. <datalist id="details">
  136. <!-- 预置列表 -->
  137. <option value="html">html</option>
  138. <option value="php">php</option>
  139. <option value="css">css</option>
  140. <option value="js">js</option>
  141. <option value="vue">vue</option>
  142. <option value="node">node</option>
  143. </datalist>
  144. </div>
  145. </fieldset>
  146. <div>
  147. <label for="comment">个人简介</label>
  148. <!--
  149. 1. textarea:没有value属性,它的值位于textarea标签之间
  150. 2. maxlength:最大长度
  151. 3. 可以使用CSS限制textarea固定大小
  152. -->
  153. <textarea name="comment" id="comment" cols="30" rows="10">Hello world</textarea>
  154. </div>
  155. <button>提交</button>
  156. <!-- from中的button,默认为提交,等同于以下代码 type="submit" -->
  157. <button type="submit"></button>
  158. <!-- type="button" 只是一个普通按钮,没有预置行为,如提交,复位 -->
  159. <!--
  160. 如果想将表单的同步提交,改为异步提交(Ajax,Fetch),禁用默认行为
  161. 1. <button type="button">
  162. 2. 事件方法中: event.preventDefault(),禁用默认行为
  163. 3. form.onsubmit = "return false",禁用当前表单默认提交行为
  164. -->
  165. </form>
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post