1. 前言
之前我们所讲的一些系列各种HTML标签,都是为了给用户展示一些东西。
实际上HTML是可以让用户输入信息的,例如登录时输入用户名密码;购买东西时选择型号、颜色;发布博客时输入标题、内容。
HTML通过表单及输入标签,来实现用户输入内容的收集。
2. 表单标签
表单标签,格式为<form>表单内容</form>,中间的表单内容部分就是用来让用户输入内容的。
表单有两个重要的属性action和method,如下:
<form action="#" method="get">
</form>
1
2
3
其中action属性表示表单提交后,哪个后台程序负责处理这个请求,这个涉及到我们JavaWeb后端学习的内容,大家到此大概知道这个参数的意思就行。action="#"中#号并不是一个可以接受请求的地址,使用#的意思就是该表单目前不指定后台处理程序。
然后是method参数,这个也涉及网页前端和后台程序交互方式了,method可以选择get/post值,这两个值代表着表单内容提交到后台的不同方式,具体也是等我们学习JavaWeb后端的时候具体了解,此时大体知道就行。
3. 表单输入标签
好的,现在我们知道如何编写表单了,还需要在表单内添加输入标签,输入标签的作用就是让用户输入东西的。
3.1 文本框
文本框用来让用户输入一段文本,格式如下:
<form action="#" method="POST">
请输入姓名: <input type="text" name="username"><br>
</form>
1
2
3
其中<input>表示这是一个输入标签,type="text"表示这个输入标签的类型是文本框,最后name="username"是给这个输入标签起了个名字,之所以要起名字,是当网页上有多个输入标签时,能把他们区分开。
文本框输入效果如下:
3.2 密码框
密码框也是用来输入文本的,但是密码框为了保护密码的私密性,输入的内容会被隐藏,别人是看不到的,例如:
请输入与密码:<input type="password" name="password"><br>
1
效果如下:
3.3 单选框
单选框用于从若干选项中选择其中一个,例如性别只能从男、女中选择一个:
<form action="#" method="POST">
请选择性别:
<input type="radio" name="sex" value="male">男
<input type="radio" name="sex" value="female">女
</form>
1
2
3
4
5
注意这两个单选框都是表示性别,所以name相同。还有一个重要属性是value,当我们的表单提交给后台程序时,会将选中项的value值提交到后台,这样后台就知道用户从网页上选择了哪个选项了。
上面代码效果如下:
3.4 复选框
单选框只能选择一个,复选框可以选择多个,例如可以选择兴趣爱好:
<form action="#" method="POST">
请选择爱好:
<input type="checkbox" name="hobby" value="basketball">篮球
<input type="checkbox" name="hobby" value="football">足球
</form>
1
2
3
4
5
由于两个复选框都是表示爱好,所以name相同。当表单提交到后台时,会将选中项的value值全部传递给后台程序。
上面的例子效果如下:
3.5 按钮
表单内还需要包含按钮,一般来说,点击按钮后会将表单提交给后台。
按钮其实分2大类,提交按钮点击后会提交表单,但是普通按钮点击后则不会提交表单,例如:
<form action="#" method="POST">
请选择爱好:
<input type="checkbox" name="hobby" value="basketball">篮球
<input type="checkbox" name="hobby" value="football">足球
<br>
<input type="button" value="普通按钮">
<input type="submit" value="提交按钮">
</form>
1
2
3
4
5
6
7
8
效果如下:
可以尝试下,点击普通按钮没反应,但是点提交按钮,页面会刷新一下。
这样可能不够直观,我们修改下表单提交的action如下:
<form action="http://www.baidu.com" method="POST">
请选择爱好:
<input type="checkbox" name="hobby" value="basketball">篮球
<input type="checkbox" name="hobby" value="football">足球
<br>
<input type="button" value="普通按钮">
<input type="submit" value="提交按钮">
</form>
1
2
3
4
5
6
7
8
也就是说,我们的表单提交给百度去处理(当然百度不会搭理我们,因为百度不是我们开发的,不会理会我们的请求)。
此时点击普通按钮,没反应,因为表单不会提交。而点击提交按钮,则会进入百度网页,表示当前信息交给百度处理了。
4. 小结
表单是用来让用户输入信息的,网页正是因为有了交互性,才变得生动有趣!
另外大家可能对前端、后台的概念不够熟悉,此处稍微解释下。
前端就是网页能看到的部分,而后台时网页的内容提交后进行分析处理的程序。我们目前学习的HTML输入网页前端开发,因为HTML的内容都会显示在网页中。