Blogger Information
Blog 47
fans 1
comment 0
visits 53031
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
HTML 表单中按钮、下拉列表、文本域、表单域的常用属性与事件
晴天
Original
1801 people have browsed it

1.按钮常用属性

1.1 常用属性

  • 按钮使用<button></button>标签
属性值 描述
type=”submit” 按钮类型为提交
formmothod=”POST” 提交类型为 POST
POST 在 HTML 主体中提交,不可见
formmothod=”GET” 提交类型为 GET
GET 在 url 中提交,显示为https://php.cn/zhuce.php?name=xxx&email=xxx
formtarget=”_blank” 设置在新窗口/本窗口提交
_blank 在新窗口打开,不写 target 默认为本窗口
formaction=”zhuce.php” 设置提交到哪里
  • 如果在<button></button>中设置 formmothod、formaction 属性及属性值
  • 那么<form></from>中的 mothod、action 属性及属性值失效

1.2 演示代码

  1. <h3>登陆/注册</h3>
  2. <form action="register" method="POST">
  3. <section>
  4. <label for="email">邮箱:</label>
  5. <input type="email" id="email" name="email" required autofocus />
  6. </section>
  7. <section>
  8. <label for="password">密码:</label>
  9. <input type="password" id="password" name="password" required />
  10. </section>
  11. <section>
  12. <button
  13. type="submit"
  14. formmothod="POST"
  15. formtarget="_blank"
  16. formaction="list.php"
  17. >
  18. 登陆
  19. </button>
  20. <button
  21. type="submit"
  22. formmothod="GET"
  23. formtarget="_blank"
  24. formaction="zhuce.php"
  25. >
  26. 注册
  27. </button>
  28. </section>
  29. </form>

2.下拉列表常用属性与事件

2.1 常用属性

  • 下拉列表使用<select></select>标签
  • <option></option>写入数据内容
  • <optgroup></optgroup>给数据内容分组
  1. <form action="">
  2. <select name="lang" id="lang" size="8" multiple>
  3. <optgroup label="前端">
  4. <option value="HTML5">HTML5</option>
  5. <option value="CSS3">CSS3</option>
  6. <option value="JaveScript">JaveScript</option>
  7. </optgroup>
  8. <optgroup label="后端">
  9. <option value="PHP">PHP</option>
  10. <option value="MySQL">MySQL</option>
  11. <option value="Laravel">Laravel</option>
  12. </optgroup>
  13. </select>
  14. </form>
属性 描述
select 中的 size 列表显示长度
select 中的 multiple 是否多选
optgroup 中的 label 分组名
option 中的 value=”HTML5” 列表值
  • 可以使用属性selected设置下拉列表默认值
     
  • <option></option>中的文字内容可以加到属性 label 中
     
  • 例如

    • 原代码<option value="HTML5">HTML5</option>
    • 修改后<option value="HTML5" label="HTML5"></option>
  • 建议使用后者,后期我们使用 JavaScript 来处理的时候非常方便,且更加安全。

2.2 常用事件

<select></select>常用两大 js 事件属性

  • onchange = " "

    • 当选项值被改变时触发

    • 演示 <select name="lang" id="lang" onchange="alert(this.value)" ></select>

  • onclick = " "

    • 当选项被单击时触发

    • 演示 <select name="lang" id="lang" onclick="alert(this.value)" ></select>


3.文本域常用属性与事件

3.1 常用属性

  • 以后开发过程中会用到副文本的编辑器,比如写个后台,肯定要允许用户去登陆去发文章,发文章就涉及到文本域。

  • 文本域标签为<textarea></textarea>

    • 标签属性介绍
属性 描述
cols 行值
rows 列值
min 最小字数
max 最大字数
placeholder 提示
  • 注意:<textarea></textarea>起始标签与结束标签之间不要留值,有值则不显示 placeholder 值
  1. <form id="common">
  2. <textarea
  3. name="replay"
  4. cols="30"
  5. rows="10"
  6. min="5"
  7. max="50"
  8. placeholder="不超过50个字"
  9. ></textarea>
  10. <button>提交</button>
  11. </form>

3.2 常用事件

  • 跟下拉列表的常用事件相同

  • 另外还有一个事件为onselect

    • 文本被选中时触发,改变字体颜色
  1. <textarea
  2. name="replay"
  3. cols="30"
  4. rows="10"
  5. min="5"
  6. max="50"
  7. placeholder="不超过50个字"
  8. onselect="this.style.color='red'"
  9. ></textarea>
  10. <!--字体被选中时,变成红色-->

4.表单域分组元素常用属性

  • 设计非常复杂数据时使用

  • 它们相当于一个容器,该元素本身不参与数据的交互操作。

  • 使用<fieldset></fieldset>标签

    • 在上面标签中添加<legend></legend>给分组元素设置名称
  1. <form action="" id="register"></form>
  2. <!--第一个表单分组-->
  3. <fieldset name="base" form="register">
  4. <legend>基础信息</legend>
  5. <section>
  6. <input
  7. type="email"
  8. name="email"
  9. form="register"
  10. antofocus
  11. placeholder="您的邮箱"
  12. />
  13. </section>
  14. <section>
  15. <input
  16. type="password"
  17. name="password1"
  18. form="register"
  19. placeholder="您的密码"
  20. />
  21. </section>
  22. <section>
  23. <input
  24. type="password"
  25. name="password2"
  26. form="register"
  27. placeholder="重复密码"
  28. />
  29. </section>
  30. </fieldset>

5.文件域

  • 文件域是用来上传文件的。通过前端表单将一个文件上传到服务器上。
  1. <section>
  2. <label for="userpic" >头像:</label>
  3. <input type="file" name="user_pic" id="userpic">
  4. <!--file:文件类型。name这里一定要用下划线,链接线在PHP中是非法的。-->
  5. <!--我们在上传的时候,可以将文件大小限制一下,用隐藏域,
  6. 类型为hidden 在页面中看不到的,给服务器端脚本看
  7. -->
  8. <input type="hidden" name="MAX_FILE_SIZE" value="8388608">
  9. <!--MAX_FILE_SIZE:文件最大尺寸,8M=8388608 -->
  10. </section>

6.预定义复合框

  • 比如搜索引擎中的智能联想,下拉框中预制一些查询结果。
  1. <section>
  2. <label for="course">课程</label>
  3. <input type="text" id="course" name="course" list="courses" />
  4. <datalist id="courses">
  5. <option value="HTML/CSS开发与实战"></option>
  6. <option value="JaveScript开发与实战"></option>
  7. <option value="PHP开发与实战"></option>
  8. <option value="Laravel开发与实战"></option>
  9. </datalist>
  10. </section>

7.图像域

  • 不常用,将按钮用图片表示

  • 类型为 image

8.input 数字

<input type="number" name="age" min="18" max="60" step="5" id="age" form="" value="20" >

属性值 描述
type=”number” 类型为数字
min=”18” 数字最小值为 18
max=”60” 数字最大值为 60
value=”20” 默认值为 20
step=”5” 每次递增值为 5

9.一个完整的 input 提交表单

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>用户调查表</title>
  7. <style>
  8. body {
  9. background: url(https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1586078385325&di=0dbd43617eb63631da0ea3f868c5a909&imgtype=0&src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201312%2F20%2F160858yk1tq9ff1fz3i5zw.jpg);
  10. background-size: 100% 1024px;
  11. display: grid;
  12. row-gap: 15px;
  13. }
  14. fieldset {
  15. width: 40%;
  16. margin: auto;
  17. color: lightseagreen;
  18. border-radius: 6px;
  19. border: 2px solid lightseagreen;
  20. }
  21. fieldset:hover {
  22. background-color: lightcyan;
  23. }
  24. fieldset > section {
  25. font-weight: bolder;
  26. margin-left: 10%;
  27. margin-top: 20px;
  28. display: grid;
  29. grid-template-columns: repeat(3, 1fr);
  30. column-gap: 15px;
  31. }
  32. fieldset > legend {
  33. text-align: center;
  34. font-size: 30px;
  35. }
  36. input {
  37. border: none;
  38. outline: none;
  39. border-bottom: 1px solid #666;
  40. background-color: transparent;
  41. }
  42. button {
  43. width: 120px;
  44. height: 30px;
  45. border: none;
  46. outline: none;
  47. border-radius: 6px;
  48. background-color: lightseagreen;
  49. color: white;
  50. }
  51. button:hover {
  52. background-color: darkorchid;
  53. cursor: pointer;
  54. }
  55. section {
  56. margin: auto;
  57. }
  58. </style>
  59. </head>
  60. <body>
  61. <!-- 先给个标题 -->
  62. <header
  63. style="
  64. color: seashell;
  65. font-size: 2rem;
  66. text-align: center;
  67. margin-top: 10px;
  68. "
  69. >
  70. 用 户 登 录 或 注 册
  71. </header>
  72. <!-- 创建表单 -->
  73. <form action="" id="stat"></form>
  74. <!-- 进行表单分组 -->
  75. <!-- 基本信息 必填项 -->
  76. <fieldset name="best" form="stat">
  77. <legend>基本信息</legend>
  78. <!-- 用户名 -->
  79. <section>
  80. <label for="username">用户名:</label>
  81. <input
  82. type="text"
  83. id="username"
  84. form="stat"
  85. name="username"
  86. maxlength="10"
  87. minlength="4"
  88. placeholder="请输入4-10位长度用户名"
  89. required
  90. autofocus
  91. />
  92. </section>
  93. <!-- 密码 -->
  94. <section>
  95. <label for="password">密码:</label>
  96. <input
  97. type="password"
  98. id="password"
  99. name="password"
  100. form="stat"
  101. minlength="6"
  102. maxlength="12"
  103. placeholder="请输入6-12位长度密码"
  104. required
  105. />
  106. </section>
  107. <!-- 性别 -->
  108. <section>
  109. <label for="secret">性别:</label>
  110. <div>
  111. <input
  112. type="radio"
  113. name="gender"
  114. id="male"
  115. value="male"
  116. form="stat"
  117. />
  118. <label for="male"></label>
  119. <input
  120. type="radio"
  121. name="gender"
  122. id="female"
  123. value="female"
  124. form="stat"
  125. />
  126. <label for="female"></label>
  127. <input
  128. type="radio"
  129. name="gender"
  130. id="secret"
  131. value="secret"
  132. form="stat"
  133. checked
  134. />
  135. <label for="secret">保密</label>
  136. </div>
  137. </section>
  138. <!-- 年龄 -->
  139. <section>
  140. <label for="age">年龄:</label>
  141. <input
  142. type="number"
  143. name="age"
  144. id="age"
  145. min="18"
  146. max="100"
  147. value="20"
  148. form="stat"
  149. />
  150. </section>
  151. <!-- 兴趣 -->
  152. <section>
  153. <label for="travel">兴趣:</label>
  154. <div>
  155. <input
  156. type="checkbox"
  157. id="shoot"
  158. name="hobby[]"
  159. value="shoot"
  160. form="stat"
  161. checked
  162. />
  163. <label for="shoot">摄影</label>
  164. <input
  165. type="checkbox"
  166. id="game"
  167. form="stat"
  168. name="hobby[]"
  169. value="game"
  170. />
  171. <label for="game">游戏</label>
  172. <input
  173. type="checkbox"
  174. id="programme"
  175. name="hobby[]"
  176. value="programme"
  177. form="stat"
  178. checked
  179. />
  180. <label for="programme">编程</label>
  181. <input
  182. type="checkbox"
  183. form="stat"
  184. id="travel"
  185. name="hobby[]"
  186. value="travel"
  187. />
  188. <label for="travel">旅游</label>
  189. </div>
  190. </section>
  191. <!-- 头像 -->
  192. <section>
  193. <label for="image">头像</label>
  194. <input id="image" type="file" form="stat" />
  195. <input type="hidden" name="MAX_FILE_SIZE" value="8388608" />
  196. </section>
  197. <!-- 邮箱 -->
  198. <section>
  199. <label for="email">邮箱:</label>
  200. <input type="email" name="email" id="email" form="stat" />
  201. </section>
  202. <!-- 课程 -->
  203. <section>
  204. <label for="course">课程:</label>
  205. <input
  206. type="text"
  207. id="course"
  208. name="course"
  209. list="courses"
  210. form="stat"
  211. />
  212. <datalist id="courses">
  213. <option value="HTML5 开发与实战"></option>
  214. <option value="CSS3 开发与实战"></option>
  215. <option value="JavaScript 开发与实战"></option>
  216. <option value="PHP 开发与实战"></option>
  217. </datalist>
  218. </section>
  219. </fieldset>
  220. <!-- 其他信息 选填项 -->
  221. <fieldset name="best" form="stat">
  222. <legend>其他信息</legend>
  223. <!-- 擅长领域 -->
  224. <section>
  225. <label for="good">擅长领域:</label>
  226. <select name="good" id="good" form="stat">
  227. <optgroup label="前端">
  228. <option value="HTML5" label="HTML5"></option>
  229. <option value="CSS3" label="CSS3"></option>
  230. <option value="JavaScript" label="JavaScript"></option>
  231. </optgroup>
  232. <optgroup label="后端">
  233. <option value="PHP" label="PHP"></option>
  234. <option value="MySQL" label="MySQL"></option>
  235. <option value="Laravel" label="Laravel"></option>
  236. </optgroup>
  237. </select>
  238. </section>
  239. <!-- 说点什么吧 -->
  240. <section>
  241. <label for="say">留言:</label>
  242. <textarea
  243. name="say"
  244. id="say"
  245. cols="30"
  246. rows="10"
  247. form="stat"
  248. maxlength="50"
  249. placeholder="说点什么吧...不超50字"
  250. ></textarea>
  251. </section>
  252. </fieldset>
  253. <!-- 提交按钮 提交方式 -->
  254. <section>
  255. <button form="stat" formaction="login.php" formmethod="GET">
  256. 本窗口get提交
  257. </button>
  258. <button
  259. form="stat"
  260. formaction="login.php"
  261. formmethod="GET"
  262. formtarget="_blank"
  263. >
  264. 新窗口get提交
  265. </button>
  266. <button form="stat" formaction="login.php" formmethod="POST">
  267. 本窗口post提交
  268. </button>
  269. <button
  270. form="stat"
  271. formaction="login.php"
  272. formmethod="POST"
  273. formtarget="_blank"
  274. >
  275. 新窗口post提交
  276. </button>
  277. </section>
  278. </body>
  279. </html>
Correcting teacher:天蓬老师天蓬老师

Correction status:unqualified

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