2 表单元素

一、 什么是表单(概念)

表单主要就是用来收集用户所填写的信息。例如:网站注册

 表单的主要功能,是收集客户信息的,或者提供用户可以输入的一些输入框。

二、表单的工作原理

用户浏览有表单的网页时,填写一些必要的信息,然后单击提交按钮进行提交表单。

表单信息通过互联网传递到了服务器端,服务器端有专门的程序对提交数据进行过滤和处理。

如果用户提交的信息是错误的,服务器会返回一个错误信息,重新填写信息,再次提交,直到信息完全正确。

如果用户提交的信息是正确的,服务器会返回一个正确信息。

常用的数据库软件:MySQL、SQL SERVER、ACCESS、Oracle

三、表单实例

<form action="login.php" method="post" enctype="application/x-www-form-urlencoded">

name:<input type="text">

password: <input type="password">

<input type="submit" value="提交"/>

</form>

<form></form>:表单元素form标记属性

Name:表单的名称,主要用于JS前端验证。

Action:表单的处理程序(表单数据提交到服务器端后,由哪个PHP程序来处理呢?[提交地址]),文件扩展名为.php

如果action的值为空,表示提交到当前页面,由当前页面直接处理表单数据。

Method:表单的提交方式(方法),取值:get或post,区别见文档详解

Enctype:对提交的表单数据进行编码(加密)。

       但只能在method=”POST”方式下使用。

       enctype有两个取值:

              如果不上传文件时使用(默认):application/x-www-form-urlencoded 对提交前的数据进行编码

              如果上传文件时使用:multipart/form-data,对上传文件进行编码,如果上传文件时不使用该值,则无法上传文件。

四、 表单中的控件

我们表单里面用得最多的就是input控件。很多控件都是通过input,然后修改type值来得到的,默认type值是text

语法格式:

<input  type=“text” name=“” size=“长度” maxlength=“最大长度” placeholder="请输入sss"/>

常用属性:

Type取值:text、password、radio、checkboxfile、submit 、reset 、button 、image、hidden、html5新增(tel,number,email,date,format)等

1)文本框

<input type="text">

Input默认为text

常用属性:

Name:表单元素的名称

Value:文本框中的值,也可以设置一个默认值。

Size:文本框的长度,主要是多少个字符的长度。

Maxlength:设置用户能输入内容的最大长度

Readonly:只读属性。如:readonly=“readonly”

Disabled:禁用。如:disabled=“disabled”

Placeholder:默认的提示文字

 

效果:

 

有了提示信息可以极大的增加用户体验

Type 控件差不多都有这些属性

Name:表单元素的名称

Value:文本框中的值,也可以设置一个默认值。

Size:文本框的长度,主要是多少个字符的长度。

Maxlength:设置用户能输入内容的最大长度

Readonly:只读属性。如:readonly=“readonly”

Disabled:禁用。如:disabled=“disabled”

Placeholder:默认的提示文字

 

2)文本域

 

语法格式:

<textarea name="" id="" cols="30" rows="10">sdhjsdhs</textarea>

常用属性:

Name:表单元素名称

Id:

Cols:宽度,指多少个字符。

Rows:高度,指有几行高度。

 

 

我们的文本框可以接受一行信息,但是有些时候我们的用户要输入多行信息,这个时候就需要文本域。文本域不是input里面的一种。

 

效果:

 

3)隐藏字段(就是把这个标签的显示效果隐藏)

 

含义:该表单元素不可见,但是存在的。主要用来保存一些数据,但数据又不想让别人看见。

在页面不可见

格式:<input  type=“hidden”name=“”value=“”/>

举例:<input type="hidden" name="id"value="345"/ >

 

 

首先该控件是我们input里面的一种,它的type值为hidden

 

虽然我们在浏览器中无法看到该控件,但是该控件的信息还是会被提交到服务器去。

 

4)单选框

说明:单选项是一组相互排斥的,每时每刻只能选择其中一个。一组单选项,name值一样(名称应该是一样的)。

语法格式:<inputtype=“radio”name=“”/>

常用属性:

Type:元素类型。

Name:元素名称

Value:元素的值

Checked:默认选中。如:checked=“checked”

<input type="radio" name="sex" value="男" checked="checked"/>

<input type="radio" name="sex" value="女"/>

 

 

我们的单选框的type值为radio。我们的单选框默认是不能单选的,两个都能被选上,这个时候,就需要我们添加上相同的name属性值,如下:

 

需要注意一个地方:如果想要后台有数据,必须写上value值,因为实际上提交到后台的数据就是value的值

 

5)复选框

 

可以选择多个

语法格式:<inputtype=“checkbox”name=“”/>

常用属性:

Type:元素类型,取值:checkbox

Name:元素名称

Value:元素的值

Checked:默认选中。如:checked=“checked”

说明:复选框也是一组,一组的名称name必须一致。可以同时选择多个,也可以一个都不选。

 <input type="checkbox" name="hobby" value="看电视" checked="checked"/>看电视

 <input type="checkbox" name="hobby" value="打游戏" />打游戏

 <input type="checkbox" name="hobby" value="练功" />lianfa

 <input type="checkbox" name="hobby" value="ssss" />ssss

 

我们复选框的type值为checkbox。我们的复选框一般用户让用户填写兴趣爱好,或者网络调查的时候使用

复选框有一个属性checked,可以让我们的复选框默认被选中

 

注意,我们的复选框也必须要有相同的name值,这样表示我们的复选框是一组的。

6)下拉列表

 

语法格式;

 <select name="" id="">

<option value=""></option>

<option value=""></option>

<option value=""></option>

</select>

<select>的常用属性:

Name:下拉列表的名称

Multiple:属性:可以让下拉列表所有的选项全部显示出来,允许用户多项选择

Size:

Id:

<option>的常用属性

Value:选项的值,必须写,提交到后台

Selected:默认选中,如:selected=“selected”

                     <select name="edu">

                            <option value="小学">小学</option>

                            <option value="初中">初中</option>

                            <option value="大专">大专</option>

                            <option value="大本">大本</option>

                            <option value="研究猪" selected="selected">研究生</option>

                     </select>

 

我们的下拉列表经常用于让用户选择出生地等

 

效果:

 

selected

 

 

Multiple size 使用

 

效果:

 

Optgroup(option group)标签:给下拉列表的选项进行分组

如下:

 

效果:

 

7)上传文档

 

语法格式:<input  type=“file”  name=“”/>

常用属性:

       Type:元素类型,取值file。

       Name:元素名称

       Value:指上传文件路径(只读)。

举例:<input type="file" name="uploadFile"/>

 

 

有些时候,我们需要用户自己上传文件,这个时候就需要用到上传文档的控件。上传文档的控件也是通过input来实现的,type值为file,如下:

 

效果:

 

注意点:当存在上传文档控件的时候,我们需要将enctype的属性值设置为multipart/form-data,如果没有设置的话,服务器将无法得到用户上传的文件的具体内容。

8)四种按钮

 

提交按钮<inputtype=“submit” name=“” value=“”/>提交表单数据

重置按钮<inputtype=“reset” name=“” value=“”/>

图片按钮(提交表单):<input  type=“image”src=“URL” name=“” value=“”/>图片形式

普通按钮(没有任何功能)<input  type=“button” name=“” value=“” />

<button>普通提交按钮</button>

说明:普通按钮,默认没有任何功能。一般情况下,需要配合JS来实现功能。

             <input type="submit" value="提交表单"/>

<input type="reset" value="重新填写"/>

<input type="image" src="images/btn02.png" />

<input type="button" value="普通按钮"/>

 <input type="button" value="返回首页"onclick="javascript:location.href='http://www.ifeng.com'" />

 

五、表单其他元素和属性

1labellabel标签不是什么去黄!!!!

label的作用是和表单里面的控件相绑定,当我们将一些文字和控件进行绑定的时候,点击文字,我们控件的焦点就会移动到所绑定的控件上面

 

label里面的for属性:填写需要绑定的控件的id值

2、tabindex属性

用来设置tab键的顺序,也就是说,按一下tab,跳到哪一个控件上去。但是,这个用得并不多。因为我们的用户习惯上就是由上往下依次填写。如果设置了tabindex属性,反而会影响用户体验。

3、accesskey属性

用来设置快捷键的。

 

操作的时候Alt键+accesskey里面的q;

虽然我们可以设置快捷键,但是这个也是基本上不会使用的,原因有两个:

1)用户只是填写一个表单,不会去关注快捷键,也不知道快捷键

2)容易和用户电脑上所安装的软件的快捷键产生冲突。

4、readonly属性

我们从字面意思就可以知道,这个是只读的意思

 

效果:

 

我们无法修改有readonly属性的控件

5、disable

用于设置某个控件是否可以用

 

效果:

 

readonly和disabled的区别

① readonly的控件的值可以被传递到服务器,但是disabled的控件不能被传递到服务器端

② readonly只针对input和textarea有效,disabled对于表单里面所有的表单元素都有效。

 

6、filedset

 

效果:

 

Bootstrap中无效

7、legend标签

虽然英语翻译成中文是传奇的意思,但是这个标签是设置表单的标题

 

效果:

 

8、补充标签:

1)上标和小标标签

上标:sup

下标:sub

举例:

 

效果:

 

2)大小字号标签

big:将当前字号放大一号显示(big标签已经被废弃掉了,因为调整字体大小那是CSS的事儿)

small:将当前字号缩小一号显示(在我们的HTML5里面,small标签被赋予了新的含义,small标签代表一些附属法则,比如页面的最下方那些用户不想看到的法律条款)

如下图:

 

效果:

 

由上面我们可以看出,big和small都是行内标签(内嵌标签)

3)address标签

address标签就是表示地址的意思

 

效果:

 

虽然显示出来是斜体,但是CSS可以随时修改样式的。永远记住,html只是负责向浏览器传递语义。

这里向浏览器所传达的语义就是,标签里面的内容是一个地址。

原文地址:https://www.cnblogs.com/chenduzizhong/p/11138277.html