博客列表 >课后作业_3_表单与控件_725181_20200930

课后作业_3_表单与控件_725181_20200930

山城小白
山城小白原创
2020年10月07日 01:09:50866浏览

0930-作业

1. 写一个会员注册的完成表单(只需要html部分,只需要提交关键代码即可),重点在于掌握控件元素与常用属性上


知识点

表单与控件元素

1. 表单简介

  • 表单分为表单元素与控件元素二部分
  • 表单元素仅一个: <form>
  • 表单控件元素,根据类型不同,有多个

2. 表单元素<form>

2.1 常用属性

序号 属性 描述
1 action 表单提交的 URL 地址(处理表单请求的脚本)
2 method 表单提交类型:GET/POST
3 enctype 设置表单提交数据的编码方式
4 name 表单唯一名称,与 ID 同义
5 target 打开请求 URL 的方式,如果_blank

2.1 请求类型method

  • web 请求方式有二种: 超链接与表单提交
  • 超链接就是使用<a>标签发起请求,其实就是GET请求
  • GET: 默认提交类型,表单数据以查询字符串形式附加到 URL 上
  • POST: 请求内容在请求体中
  • 请求类型属性action的取值
序号 允许值 描述
1 GET 默认值,表单数据以请求参数形式通过 URL 提交, 数据量最大 2K
2 POST 表单数据放在请求体中发送,数据量更大也更安全

2.3 编码方式enctype

序号 允许值 适用场景 描述
1 application/x-www-form-urlencoded key=value 默认值,使用 URL 编码,GET/POST 均适合
2 multipart/form-data 文件上传 采用二进制流处理,会把文件域中的内容封装到请求参数中,适合大文件
3 text/plain 电子邮件 action="mailto:URL

2.4 表单名称name

序号 功能 描述
1 标识表单元素 id一样,用来唯一标识该表单元素
2 绑定表单元素 用于表单控件元素的 form 属性,用来绑定所属表单
3 访问表单元素 快捷访问内部控件元素,如form.input.value

2.5 打开方式target

序号 允许值 描述
1 _self 默认值,当前窗口打开提交的 URL
2 _blank 新窗口打开提交的 URL
3 _parent 父窗口打开提交的 URL
4 _top 顶层窗口打开提交的 URL

3. 表单控件元素<input>

3.1 常用属性

序号 属性 描述
1 type 控件类型,如文本框, 复选框…
2 name 请求参数的名称,对应于脚本处理的变量名
3 value 请求参数的值,对应于脚本处理的变量值,使用预定义值控件无效
4 form 控件所属表单
5 placeholder 仅限输入框textpassword,输入框的提示信息
6 list 仅限输入框textpassword,下拉框智能提示
7 autocomplate 仅限输入框textpassword,自动完成(历史记录)
8 maxlength 仅限输入框text/password, 允许输入最大字符数量
9 checked 仅限单选框radio, 复选框checkbox(布尔属性)
10 readonly 元素只读,但通过 JavaScript 可修改(布尔属性)
11 disabled 元素禁用,(布尔属性)
12 autofocus 自动获取焦点,一个表单仅限一个控件
13 src 仅限图像域images, 图像 URL 地址
14 width 仅限图像域images, 图像宽度
15 height 仅限图像域images, 图像高度

3.2 type类型

  • 常用类型
序号 类型 描述
1 <input type="text"> 单行文本框 (默认值)
2 <input type="password"> 密码输入框
3 <input type="radio"> 单选框
4 <input type="checkbox"> 复选框
5 <input type="image"> 图像域/提交表单
6 <input type="file"> 文件上传域
7 <input type="hidden"> 隐藏域(仅以服务端可见)
  • html5 新增类型
序号 类型 描述
1 <input type="email"> 电子邮件
2 <input type="data"> 日期
2 <input type="data"> 日期
4 <input type="datetime-local"> 本地日期时间
5 <input type="tel"> 电话号码
6 <input type="url"> URL 地址
7 <input type="number"> 数值
8 <input type="range"> 范围拖动条
9 <input type="search"> 搜索框/移动
10 <input type="color"> 拾色器

3.3 常用事件属性

序号 事件属性 描述
1 onfocus 获取焦点时触发
2 onblur 失去焦点时触发
3 onchange 失去焦点,且值发生变化时触发
4 oninput 值发生变化(不等失去焦点)时触发
5 onkeydown 按下键盘时触发
6 onkeyup 抬起键盘时触发
7 onclick 鼠标单击时触发
8 onselect 选择内容文本时触发

作业

  1. <!DOCTYPE html>
  2. <html lang="en">
  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. display: grid;
  10. grid-template-columns: 60px 180px;
  11. place-content: center;
  12. row-gap: 10px;
  13. }
  14. h3,
  15. form,
  16. button {
  17. grid-column: span 2;
  18. }
  19. h3 {
  20. text-align: center;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <h3 class="title">用户注册</h3>
  26. <br>
  27. <form action="check.php" method="POST" class="register" enctype="multipart/form-data">
  28. <label for="username">账号:</label>
  29. <input
  30. type="text"
  31. id="username"
  32. name="username"
  33. value=""
  34. placeholder="请输入用户名,至少6位字母或数字。"
  35. autofocus
  36. required
  37. onblur="isEmpty(this)"
  38. />
  39. <br>
  40. <label for="pwd1">密码:</label>
  41. <input
  42. type="password"
  43. id="pwd1"
  44. name="pwd1"
  45. value=""
  46. placeholder="至少6位且包含数字和字母"
  47. required
  48. onblur="isEmpty(this)"
  49. />
  50. <br>
  51. <label for="pwd2">确认密码:</label>
  52. <input
  53. type="password"
  54. id="pwd2" name="pwd2"
  55. value=""
  56. placeholder="*********"
  57. required
  58. onblur="isEqual(this)"
  59. />
  60. <br>
  61. <label for="secret">性别:</label>
  62. <!-- 男, 女,保密 -->
  63. <div>
  64. <!-- 单选按钮要确保返回值唯一,所以name属性必须相同 -->
  65. <!-- 要设置一个checked,使得一个value属性做为返回值 -->
  66. <input type="radio" name="gender" id="male" value="male" /><label for="male"></label>
  67. <input type="radio" name="gender" id="female" value="female" /><label for="female"></label>
  68. <!-- checked:设置默认选择 -->
  69. <input type="radio" name="gender" id="secret" value="secret" checked /><label for="secret">保密</label>
  70. </div>
  71. <br>
  72. <label for="#">兴趣:(可多选)</label>
  73. <div>
  74. <!-- 复选框变量名通常使用数组的格式 -->
  75. <!-- 要设置一个value属性,做为返回值 -->
  76. <input type="checkbox" name="hobby[]" id="game" value="game" checked /><label for="game">游戏</label>
  77. <input type="checkbox" name="hobby[]" id="shoot" value="shoot" /><label for="shoot">摄影</label>
  78. <input type="checkbox" name="hobby[]" id="travel" value="travel" /><label for="travel">旅游</label>
  79. <input type="checkbox" name="hobby[]" id="program" value="program" checked /><label for="program">编程</label>
  80. </div>
  81. <br>
  82. <label for="edu">学历:</label>
  83. <!-- <select name="edu" id="" size="9" multiple属性可多选> -->
  84. <select name="edu" id="edu">
  85. <option value="1">初中</option>
  86. <option value="2">高中</option>
  87. <option value="3" selected>专科</option>
  88. <option value="4">本科</option>
  89. <option value="5">硕士</option>
  90. <!-- label属性优先级大于option中的文本 -->
  91. <option value="6" label="博士">自学</option>
  92. </select>
  93. <br>
  94. <!-- 上传文件:form, method 必须是 POST, enctype="multipart/form-data" -->
  95. <label for="user-pic">照片:</label>
  96. <!-- 隐藏域 -->
  97. <!-- value值是字节大小表示 -->
  98. <input type="hidden" name="MAX_FILE_SIZE" value="80000" />
  99. <input type="file" name="user_pic" id="user-pic" />
  100. <!-- 头像在这里显示的占位符 -->
  101. <div class="user-pic" style="grid-column: 2"></div>
  102. <label for="user-resume">个人简历:</label>
  103. <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
  104. <input type="file" name="resume" id="user-resume" />
  105. <!-- 头像在这里显示的占位符 -->
  106. <div class="user-resume" style="grid-column: 2"></div>
  107. <br>
  108. <label for="comment">备注:</label>
  109. <!-- 文本域就是一个多行的文本框 -->
  110. <textarea
  111. name="comment"
  112. id="comment"
  113. cols="40"
  114. rows="10"
  115. placeholder="不能超过200字"
  116. oninput="show(this)"
  117. onselect="this.style.color='red'"
  118. ></textarea>
  119. <span class="tips">还能输入 <em>20</em>个字。</span>
  120. <br>
  121. <button type="reset" form="register">重置</button>
  122. <button form="register">确定</button>
  123. </form>
  124. </body>
  125. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
山城小白2020-10-09 19:05:111楼
这样的标题是为了以后好进行归类整理