html表单

  1 课程目标
  2 
  3 掌握HTML的常用标签的使用
  4 掌握表格、表单的使用
  5 能够创建自己的个人主页
  6 
  7 了解提交表单的方法
  8 掌握常用表单字段的使用(重点)
  9 -------------------------------------------------
 10 表单概述
 11 
 12 表单用来收集用户信息并提交给服务器。
 13 服务器需要一门动态语言来获取这些信息并进行处理,常用的服务器端语言有asp/asp.net/php/jsp等。
 14 
 15 <form method="get" action="form.htm">
 16     <input type="text" name="id" value="" />
 17     <input type="submit" value="提交" />
 18 </form>
 19 -------------------------------------------------
 20 提交表单的方法
 21 
 22 示例:GET方法提交表单
 23 <form method="get" action="form.htm">
 24 
 25 GET方法的HTTP请求消息头:    ********************
 26 GET /DEMO/form/form.htm?id=dd&password=123456 HTTP/1.1
 27 Accept: */*
 28 Referer: http://localhost:4346/DEMO/form/form.htm
 29 Accept-Language: zh-cn
 30 
 31 
 32 示例:POST方式提交表单
 33 
 34 POST方法的HTTP请求消息头:   **********************
 35 POST /DEMO/form/form.htm HTTP/1.1
 36 Accept: */*
 37 Referer: http://localhost:4346/DEMO/form/form.htm
 38 Accept-Language: zh-cn
 39 Content-Type: application/x-www-form-urlencoded
 40 Accept-Encoding: gzip, deflate
 41 User-Agent: Mozilla/4.0 (compatible; MSIE 7.0)
 42 Host: localhost:4346
 43 Content-Length: 21
 44 
 45 id=dd&password=123456
 46 
 47 action属性
 48     提交表单时转到的URL地址。
 49 
 50 method 属性                **********************
 51 GET方式
 52     收集用户少量信息。
 53     URL的长度限制为4KB
 54 POST方式
 55     收集用户大量信息(可能包含用户上传的文件)。
 56     用户提交的信息保存在HTTP请求消息的正文。
 57     提交后不能使用刷新按钮。
 58 
 59 -------------------------------------------------
 60 常用表单字段
 61 
 62 文本输入框(input)
 63 type 属性
 64     --type=“text”表示文本输入框
 65 value 属性
 66     --文本框的值
 67 name属性
 68     --必须的,提交表单时此文本框的值value存储在name变量中。
 69 
 70 <input  type="text"  name=“input1"   value="你好" />
 71 
 72 maxlength 属性
 73     --文本框允许输入的最多的字符数
 74 tabindex 属性           **********************
 75     --用户点击tab按键时焦点的切换顺序(从1开始)
 76 
 77 disabled属性
 78     --不可用
 79 readonly属性
 80     --只读
 81     
 82 Disabled和readonly的区别?
 83 disabled的文本框显示为灰色
 84 tabindex对disabled的文本框不起作用
 85 disabled的文本框的值不会发送到服务器
 86     
 87 密码输入框(input)
 88     --用于输入密码,输入的密码以星号显示。
 89   
 90 如果表单的 method=’get’,则点击提交按钮时,URL地址变成:
 91 http://localhost:4346/DEMO/form/password.htm?password1=123456
 92 所以,一般用户登陆的表单需要用POST提交方式。
 93 
 94 -------------------------------------------------
 95 
 96 多行文本输入框(textarea)           *****************
 97 用于输入多行文本,如果输入内容过长,则会自动显示滚动条。
 98 
 99 注:实现自动换行的功能:写一个css,如下
100 <style>                               *****************
101 .test{
102 5em; 
103 border:1px solid #000000;
104 word-wrap:break-word;
105 }
106 </style>  
107 <textarea class="test"></textarea>    *****************
108 -------------------------------------------------
109 列表框(select)
110 下拉列表,用户可以从一些可选项中选择。
111 示例:简单的下拉列表
112 <select name="country">
113         <option value="America">美国</option>
114         <option value="China" selected="selected">中国</option>
115         <option value="India">印度</option>
116         <option value="Russia">俄罗斯</option>
117 </select>
118 
119 <optgroup>标签                         *****************
120 用来对选项进行分组(分组标签是不可选择的)
121 
122 <select name="country2">               *****************
123         <optgroup label="北美洲">
124             <option value="America">美国</option>
125         </optgroup>
126         <optgroup label="亚洲">
127             <option value="China" selected="selected">中国</option>
128             <option value="India">印度</option>
129             <option value="Russia">俄罗斯</option>
130         </optgroup>
131 </select>                               *****************
132 
133 列表框(以平铺的形式显示)              *****************
134 设置<select>标签的属性 size 的值大于 1 即可
135 size表示显示多少行
136 
137 示例:列表框与多选列表框?              *****************
138 <select name="country4" size="5">
139         <option value="America">美国</option>
140         <option value="China" selected="selected">中国</option>
141         <option value="India">印度</option>
142         <option value="Russia">俄罗斯</option>
143 </select>
144 
145 列表框(可以多选)                       *****************
146 设置<select>标签的属性 multiple="multiple“
147 用户可以通过Ctrl或Shift选择多个选项。
148 
149 -------------------------------------------------
150 单选按钮(input)
151 单选按钮的行为类似上面介绍的下拉列表,用户可以从几个选项中选择一个。
152 
153 示例:单选按钮分组?
154 蓝色<input type="radio" value="blue" name="color" />
155 红色<input type="radio" value="red" checked="checked" name="color" />
156 白色<input type="radio" value="white" name="color" />
157 
158 特别注意:name 用于指定哪些单选框是一组的,
159 同组的单选框只能选中一个。
160 
161 -------------------------------------------------
162 多选框(input)
163 多选框和单选按钮,以及可以多选的列表框类似。
164 
165 示例:多选框分组?
166 
167 蓝色<input type="checkbox" value="blue" name="color" />
168 红色<input type="checkbox" value="red" checked="checked" name="color" />
169 白色<input type="checkbox" value="white" name="color" />
170 
171 -------------------------------------------------
172 按钮(input)
173 提交按钮(type=”submit”)
174 点击提交按钮所在的表单
175 用户在单行文本框或密码框中,按enter时提交表单(相当点击提交按钮)。
176 
177 重置按钮(type=”reset”)
178 将表单字段的值重置为页面第一次加载时的值。
179 
180 一般按钮(type=”button”)
181 没有默认行为。
182 怎样使用一般按钮提交表单?(使用Javascript)
183 
184 -------------------------------------------------
185 图片按钮(input)
186 类似提交按钮,但是使用一个图片而不是浏览器默认的按钮。
187 
188 示例:图片按钮向服务器提交的数据?
189 
190 <input type="image" src="../images/rose.bmp" alt="Rose" />
191 点击图片按钮会回发表单,HTTP请求消息为:
192 GET /form/imgbutton.htm?password=123456&x=5&y=93 HTTP/1.1
193 Accept: */*
194 Referer: http://localhost:4346/DEMO/form/imgbutton.htm
195 Accept-Language: zh-cn
196 
197 -------------------------------------------------
198 注意,                           ******************
199 在发送到服务器的数据中,除了文本框的值,还有:
200 x=5&y=93
201 这个是点击按钮时,光标落在图片的坐标。
202 
203 
204 -------------------------------------------------
205 隐藏输入框(input)
206 用户不可见,但是隐藏输入框的值可以随着表单一起提交。
207 <input type="hidden" name="password" value="123456" />
208 
209 
210 常见的使用场合
211 多页面收集用户信息。
212 
213 服务器需要三个页面收集用户数据。
214 用户提交第一个页面,服务器把数据以隐藏字段的方式保存在第二个页面中。
215 当用户提交第二个页面时,服务器把数据保存在第三个页面。
216 用户提交第三个页面,完成。
217 
218 -------------------------------------------------
219 标签(label)                   ********************
220 有些HTML标签尺寸很小,比如单选框和多选框。希望点击单选框旁边的按钮和点击单选框的效果相同。
221 
222 示例:<label>标签常见的使用场景?
223 <label for="blue">蓝色</label>
224 <input type="radio" id="blue" value="blue" name="color" />
225 
226 注意:label标签中的for值和输入框中的id值须一致
227 
228 -------------------------------------------------
229 id和name有什么区别呢?         ********************
230 id 在整个页面是唯一的,没有任何两个HTML标签的id是一样的。
231 name 用在向服务器发送数据时,保存HTML标签的值。
232 可以有相同的name的HTML标签存在(比如相同name的radio是同一分组的)。
233           
234 -------------------------------------------------
235 分组框(fieldset)             ********************
236 分组框<fieldset>标签。
237 <legend>标签来显示分组框标题。
238 
239 <fieldset style="200px;">
240         <legend>选择颜色</legend>
241         <ul>
242             <li>蓝色<input type="radio" value="blue" name="color" /></li>
243             <li>红色<input type="radio" value="red" checked="checked" name="color" /></li>
244             <li>白色<input type="radio" value="white" name="color" /></li>
245         </ul>
246 </fieldset>
247 
248 -------------------------------------------------
249 框架
250 
251 为什么使用frameset
252 <frameset> 允许我们把很多页面组合成一个页面
253 
254 常见的应用场景
255 一个frame中放置页面导航,另一个frame中放置页面内容,
256 当点击页面导航时,只刷新页面内容。(部分刷新)
257 -------------------------------------------------
258 垂直分栏框架
259 <frameset>的 cols 属性,定义垂直分栏的各列的宽度:
260 
261 示例:一个三列的框架,其中第一列占据150px的宽度,第二列占据10%的宽度,
262 第三列占据剩余的宽度。
263 
264 <frameset cols="150, 10%, *">
265     <frame src="1.htm" />
266     <frame src="2.htm" />
267     <frame src="3.htm" />
268 </frameset>
269 
270 -------------------------------------------------
271 水平分栏框架
272 
273 
274 示例:
275 <frameset rows="50, 10%, *">
276     <frame src="1.htm" />
277     <frame src="2.htm" />
278     <frame src="3.htm" />
279 </frameset>
280 
281 -------------------------------------------------
282 水平分栏框架
283 
284 
285 <frame>标签的属性
286 frameborder="0“
287 用来设置不显示分隔条
288 noresize="noresize“
289 则设置分隔条不可拖动
290 scrolling=”no”
291 不显示滚动条。
292 
293 -------------------------------------------------
294 混合框架
295 科大的bbs(http://bbs.ustc.edu.cn)使用框架
296 
297 <frameset cols="151, 10, *" framespacing="0" frameborder="no“ border="0">
298     <frameset rows="*, 25" framespacing="0" frameborder="no" border="0">
299           <frame name="f2" src="cgi/bbsleft" noresize>
300           <frame scrolling="no" name="f2tty" src="tty.html" noresize>
301         </frameset>
302     <frame src="f5.html" name="f5" frameborder="no" scrolling="no" noresize>
303     <frameset rows="0, *, 20" framespacing="0" frameborder="no" border="0">
304           <frame name="f3" src="cgi/bbsindex" noresize>
305           <frame scrolling="no" name="f4" src="cgi/bbsfoot" noresize>
306       </frameset>
307 </frameset>
308 
309 -------------------------------------------------
310 框架之间导航
311 框架中的链接可以在框架之间导航,通过设置<a> 标签的target属性。
312 
313 <a>的target属性和<frame>的name属性相对应。
原文地址:https://www.cnblogs.com/1020182600HENG/p/6051943.html