做过网页的人都知道,html表单控件十分重要。基本上我们注册会员、登录用户,都需要填写用户名、密码,那些框框都是表单控件。
本来今天就想写一些常用的html表单控件,于是开始搜资料,找到了一个网页,作者的写作思路和我的基本相同,不过不足的是缺少效果图。
我打算结合着这位仁兄的文章补充一下,增加一些效果图,另外把一些新内容也补充进去,原文的地址是:
HTML表单(Forms)
我站在这位仁兄的肩膀上写作,再增加一些东西,配上一些图,我想,效果应该很好,接着就跟着我来学习吧。
HTML表单(Form)是HTML的一个重要部分,主要用于采集和提交用户输入的信息。
举个简单的例子,一个让用户输入姓名的HTML表单(Form)。示例代码如下:
<html> <head><title>输入用户姓名</title></head> <body> <form action="http://www.php100.com/a.php" method="get"> 请输入你的姓名: <input type="text" name="yourname"> <input type="submit" value="提交"> </form> </body> </html>
效果图如下:
学习HTML表单(Form)最关键要掌握的有三个要点:
- 表单控件(Form Controls)
- Action
- Method
先说表单控件(Form Controls),通过HTML表单的各种控件,用户可以输入文字信息,或者从选项中选择,以及做提交的操作。比如上面的例句里,input type="text"就是一个表单控件,表示一个单行输入框。
用户填入表单的信息总是需要程序来进行处理,表单里的action就指明了处理表单信息的文件。比如上面例句里的action="http://www.php100.com/a.php"。代表的就是把这个表单中的信息提交到a.php这个后台程序中处理。(注: php是一门编写后台程序的语言)
至于method,表示了发送表单信息的方式。method有两个值:get和post。
get的方式是将表单控件的name/value信息经过编码之后,通过URL发送(你可以在地址栏里看到)。
比如:http://www.baidu.com/s?name=jinhe&boy=1,这里就把参数name(值为jinhe)和boy(值为1)传递给了百度,参数和网址之前使用【?问号】间隔,各个参数之间使用&分割。
而post则将表单的内容通过http发送,你在地址栏看不到表单的提交信息。
那什么时候用get,什么时候用post呢?一般是这样来判断的,如果只是为取得和显示数据,用get;一旦涉及数据的保存和更新,那么建议用post。
HTML表单(Form)常用控件有:
表单控件(Form Contros) |
说明 |
input type="text" |
单行文本输入框 |
input type="submit" |
将表单(Form)里的信息提交给表单里action所指向的文件 |
input type="checkbox" |
复选框 |
input type="radio" |
单选框 |
select |
下拉框 |
textArea |
多行文本输入框 |
input type="password" |
密码输入框(输入的文字用*表示) |
一、
表单控件(Form Control):单行文本输入框(input type="text")
单行文本输入框允许用户输入一些简短的单行信息,比如用户姓名。例句如下:
<html> <head><title>输入用户姓名</title></head> <body> <form action="http://www.php100.com/html/asdocs/html_tutorials/yourname.php" method="get"> 请输入你的姓名: <input type="text" name="yourname"> <input type="submit" value="提交"> </form> </body> </html>
效果图如下:
二、
表单控件(Form Control):复选框(input type="checkbox")
复选框允许用户在一组选项里,选择多个。示例代码:
<html> <head><title>选择</title></head> <body> 请选择你喜欢的水果:<br> <form action = "http://www.php100.com/html/asdocs/html_tutorials/choose.php" method = "post"> <input type="checkbox" name="fruit" value ="apple" >苹果<br> <input type="checkbox" name="fruit" value ="orange" checked="checked">桔子<br> <input type="checkbox" name="fruit" value ="mango">芒果<br> <input type="submit" value="提交"> </form> </body> </html>
效果图如下:
说明:
1,
注意这3个复选框有个共同的特点,name="fruit",也就是说它们的name是相同的,这就告诉了浏览器,它们3个是一组的。
如果有另外一组复选框,那么就需要指定另外一个name。具体如何区分组,主要看你想干什么,比如你先问你喜欢的水果有哪些(苹果、桔子、芒果,这是一组),然后你又想问你喜欢的国家有哪些(英国、美国、日本,这又是一组,就应该和前一组设置不同的name)。
2,
属性value是这个复选框的值,一般会通过脚本来获取选中的复选框的值。
跟在input后面的文字,是显示给用户看的,可以说是“复选框的代表的意思”,它可以和value相同,也可以不同。
3,
从效果图中可以看到,“桔子”这一个复选框选中了,这是因为它对应的input中增加了一个属性checked="checked",通过这个属性,可以设置复选框为默认选中状态。
三、
表单控件(Form Control):单选框(input type="radio")
使用单选框,让用户在一组选项里只能选择一个。示例代码:
<html> <head><title>选择</title></head> <body> 请选择你最喜欢的水果:<br> <form action = "http://www.php100.com/html/asdocs/html_tutorials/choose.php" method = "post"> <input type="radio" name="fruit" value = "Apple">苹果<br> <input type="radio" name="fruit" value = "Orange" checked="checked">桔子<br> <input type="radio" name="fruit" value = "Mango">芒果<br> <input type="submit" value="提交"> </form> </body> </html>
效果图如下:
说明:
1,
注意这3个单选框有个共同的特点,name="fruit",也就是说它们的name是相同的,这就告诉了浏览器,它们3个是一组的。
如果有另外一组单选框,那么就需要指定另外一个name。
如果你不指定name,那么浏览器就认为所有的单选框都是一组,这样你就只能选择一个单选框,不行的话你可以试试看。
2,
属性value是这个单选框的值,一般会通过脚本来获取选中的单选框的值。
跟在input后面的文字,是显示给用户看的,可以说是“单选框的代表的意思”,它可以和value相同,也可以不同。
3,
从效果图中可以看到,“桔子”这一个单选框选中了,这是因为它对应的input中增加了一个属性checked="checked",通过这个属性,可以设置单选框为默认选中状态。
四、
表单控件(Form Control):下拉框(select)
下拉框(Select)既可以用做单选,也可以用做复选。单选例句如下:
<html> <body> <form action = "http://www.php100.com/html/asdocs/html_tutorials/choose.php" method = "post"> 你最喜欢的水果是: <select name="fruit" > <option value="apple">苹果 <option value="orange" selected="selected">桔子</option> <option value="mango">芒果 </select> <input type="submit" value="提交"> </form> </body> </html>
效果图如下:
说明:
1,
一个下拉框就有一个name,不过一般都是设置id,然后使用脚本来获取它的被选中的值。
2,
仔细看的话,会发现,苹果直接跟在option后面,而桔子的后面还有个闭合的标签</option>,一般我们写程序都是使用后者,不知道IE6、IE7、IE8是否支持前者。
3,
如果桔子没有加selected="selected",那么默认选中的就是第一个选项“苹果”,因此可以使用selected="selected"来设置默认选择项。
如果要变成复选,加muiltiple即可。用户用Ctrl来实现多选。用户还可以用size属性来改变下拉框(Select)的大小。例句:
<html> <head><title>选择</title></head> <body> <form action = "http://www.php100.com/html/asdocs/html_tutorials/choose.php" method = "post"> 你最喜欢的水果是:<br> <select name="fruit" multiple size = ""> <option value="apple">苹果 <option value="orange">桔子 <option value="mango">芒果 </select> <br> <input type="submit" value="提交"> </form> </body> </html>
效果图如下:
说明:
1,
这种用法虽然比较少,不过有时确实很管用,select加一个multiple就行了。
2,
属性size指的是预留几个选项的空间,这里设置了size=”5”,看图可知,已经有了3个选项,下面的位置正好够2个选项。
如果实际的选项个数比较多,就会出现一个滚动条。
五、
表单控件(Form Control):多行输入框(textarea)
多行输入框(textarea)主要用于输入较长的文本信息。例句如下:
<html> <head><title>请提宝贵意见</title></head> <body> <form action="http://www.php100.com/html/asdocs/html_tutorials/suggest.php" method="get"> 请提宝贵意见:<br> <textarea name="yoursuggest" cols ="" rows = ""></textarea> <br> <input type="submit" value="提交"> </form> </body> </html>
效果图如下:
说明:
1,
其中cols表示textarea的宽度,单位是字符,一个英文字母占一个字符,一个汉字占两个字符,这个常识要记住,这里cols=”50”就是可以输入25个汉字或50个英文字母。
rows表示textarea的高度,单位是行。这里设置rows=”3”只是预留了3行的空间,如果输入的内容超过了3行,就会增加一个滚动条。
六、
表单控件(Form Control):密码输入框(input type="password")
密码输入框(input type="password")主要用于一些保密信息的输入,比如密码。因为用户输入的时候,显示的不是输入的内容,而是黑点符号。例句如下:
<html> <head><title>输入用户姓名和密码 </title></head> <body> <form action="http://www.php100.com/html/asdocs/html_tutorials/userpw.php" method="post"> 请输入你的姓名: <input type="text" name="yourname"><br> 请输入你的密码: <input type="password" name="yourpw"><br> <input type="submit" value="提交"> </form> </body> </html>
效果图:
说明:
可以从截图中看出来,密码文本框输入之后就是黑点点,防止偷窥啊。
七、
表单控件(Form Control):提交(input type="submit"),重置(input type="reset"),按钮(input type="button")。
通过提交(input type=submit)可以将表单(Form)里的信息提交给表单里action所指向的文件。
重置(input type="reset")可以清空文本框中的值。
按钮(input type="button")用的是最多的,一般会配合脚本使用。
例句如下:
<html> <head><title>输入用户姓名和密码 </title></head> <body> <form action="http://www.php100.com/html/asdocs/html_tutorials/userpw.php" method="post"> 请输入你的姓名: <input type="text" name="yourname"><br> 请输入你的密码: <input type="password" name="yourpw"><br> <input type="submit" value="提交"> <br> <input type="reset" value="重置"> <br> <input type="button" onclick="alert('谁叫你单击我勒?')" value="按钮"> </form> </body> </html>
效果图如下:
说明:
1,
当你单击提交的时候,提示“403 Forbidden”,其实页面已经把数据提交到了action指定的页面,因此页面会转向其他页面。
可能是因为没有权限,或者这个页面根本不存在,所以才会报错误的。
2,
单击重置,你会发现,输入文本框中的值被清空了。
3,
单击按钮,弹出提示“谁叫你单击我勒?”,这是因为onclick="alert('谁叫你单击我勒?')", 属性onclick可以指定当按钮被单击时,要执行的动作,一般通过脚本来写程序完成,这里的alert是一个脚本函数,就是让浏览器弹出一个提示框,内部的内容应该用单引号包住。
八、
表单控件(Form Control):图片提交(input type="image")
input type=image 相当于 input type=submit,不同的是,input type=image 以一个图片作为表单的提交按钮,其中 src 属性表示图片的路径。
代码如下:
<html> <head><title>输入用户姓名</title></head> <body> <form action="http://www.php100.com/html/asdocs/html_tutorials/yourname.php" method="get"> 请输入你的姓名: <input type="text" name="yourname"><br> <input type="image" src ="lp.jpg" alt = "提交" NAME="imagesubmit"> </form> </body> </html>
效果图如下:
这里,我把罗胖的头像当做按钮了,只要单击罗胖的头像,就会提交这个页面。
写文章,真得不容易啊,我这是站在别人的肩膀上,增加一些说明、效果图、合并一些例子,就这还花了2个多小时啊,不过,我发现,修改别人的文章,增加一些个人的东西,能够互补性的学习一些内容,而且节约了一些时间。
如果,你还有什么要补充的,可以站在我的肩膀上修改,这样能节省很多时间,还能促进你的进步,学习嘛,就是一个互相交流的过程。