表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。
表单是怎么工作的?
当你在网页把数据填入表单,并提交以后,浏览器会把表单里的所有数据打包好,发送给指定地址的服务器。
表单数据被服务器接收后,经过某些脚本语言(比如c++,PHP,python等)作用后,生成新的XHTML网页,被服务器返回给浏览器,浏览器接收后,在窗口呈现出来。
<form>标签里的属性。
action属性的值包括几部分:①是服务器的URL地址。②是脚本文件所在的文件夹及文件名。method属性定义表单数据被上传到服务器的方式,一般是“POST“,还有一种是”GET”
多数情况下被用到的表单标签是输入标签(<input>)。<input> 是内联元素,不能自动还行,所以要用的<br> 元素进行换行。
输入类型是由类型属性(type)定义的。大多数经常被用到的输入类型如下:
1,text input(文本输入):这个适合比较短的文本输入
type="text"表示表单内输入内容区域是一个框框,可以输入文本。你也可以加入别的属性限制输入框的宽度和输入文字的最大长度。可以用maxlength="100"
2,submit input
type="submit"创建了一个按钮,当你点击这个按钮,就把表单的内容上传出去了
上图用红线圈出来的内容就是value属性的值”order now “。如果没有value属性,默认为value="submit"
3,radio input
type="radio"也创建了按钮,每个按钮代表了一个选项。但是是单选。每个选项都要有一个input元素
每个按钮的的name属性的值相同,value属性的值不同
4,checkbox input
type="checkbox"创建了选项框,每个框代表一个选项,可多选。
可以用Boolean属性:checked,表示某选项默认必须。
5,number input,date input,url input,trl input,email input, color input,range input,file input等
6,password input
对输入的内容加密
每个<input>元素都有不同的name属性值
其他输入标签
1,<textarea>标签:适合比较长的文本输入。
开始标签和结束标签之间的内容就是要输入到表单文本里的内容。不能用HTML控制用户输入的字数
2,<select>标签
<select>标签创建了一个带有选项的菜单,一个<option>元素代表一个选项。
<select>元素内要有name属性,option不用
关于表单里的name
表单里标签的name和value很重要,因为浏览器在打包表单数据的时候,是将每个表单元素的name和value属性值打包起来,通过name值=value值的形式传递给服务器。
服务器接收到的数据是一系列的name=value对,接收到的每个name值都是唯一的.
name的命名是否有效,要取决于脚本语言。
value的值:标签内有。元素内如果没有,那就是输入表单的内容
<label> 标签为 input 元素定义标注(标记)。
label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
<label>元素的位置不重要,只要<label> 标签的 for 属性相关<input>元素的 id 属性相同就行。
<fieldset>和<legend>标签
呈现效果
placeholder和required属性
placeholder属性提示用户输入文本的样式,打了个样。如果用户没有在表单输入,这个属性的值不会传给服务器
required是Boolean属性,表示为必填项,如果没填,会出现要求输入字段的提示。