Form(表单)主要用于采集和提交用户输入的信息,是页面与WEB服务器交互过程中 最重要的信息来源。

掌握表单(Form)有以下几个要点:

重要form属性

form常用控件

form提交方式

§  重要form属性

action {URL}:规定表单提交时向何处发送数据。

enctype :规定在发送表单数据之前如何对表单数据进行编码。(值如下)

       application/x-www-form-urlencoded :在发送前编码所有字符(默认为此方式)。

         multipart/form-data :不对字符编码。 注:使用包含文件上传控件的表单时,必须使用该值。

method:指定表单以何种方法发送。

        get :from表单里所填的值,附加在action指定的URL后面,做为URL链接而传递。(可以在地址栏看见表单的提交信息)

        post :from表单里所填的值,附加在HTML Headers上。(不可以在地址栏看见表单的提交信息)

§  form常用控件

<label>标记:

  <label>标记为input元素定义标注,它的for 属性应当与相关元素的id属性相同。绑定后单击该文字,鼠标将聚焦到绑定的表单控件上。

   建议:每一个表单元素的文字描述都使用<label>标记 !(<label></label>两标签之间的内容即为对绑定的表单控件的文字描述)

   注意:每个表单元素应当分配 name 属性 和 id 属性。( name 属性和 id 属性应该尽可能地使用相同的或相关的值。)

      name 属性:用来将数据提交到服务器;

      id 属性:用来在客户端做相应的操作;如:<label>标签的绑定、CSS 选择器的使用等。

文本输入框:         

1)、input type="text" 单行文本框

<label  for= "Account">账号:</label>
<input type="text" name="Account" id="Account" value="账户" maxlength="20">

2)、textarea 多行文本框

<label for="comment">评论:</label>
<textarea name="comment" id="comment" cols="30" rows="15" maxlength="100"></textarea>

说明: maxlength 规定文本区域的最大字符数;如果在<textarea> 中输入字符时,换行也算一个字符。

密码输入框:

  定义密码字段。(字符会被遮盖)

<label  for= "Password">密码:</label>
<input type="password" name="password" id="password" value="密码">

单选框:

设置单选按钮 以及获取选中的单选按钮的值

<form name="MyForm" action="URL" method="post">
  <p>性别:
   <input type="radio" name="sex" id="male" value="male"><label for="male">male</label>
   <input type="radio" name="sex" id="female" value="female"><label for="female">female</label>
  </p>
  <input type="button" value="获取选中项" onclick="getValue();" />
</form> //获取选中的单选值
<script language="javascript">
function getValue(){
//获取表单的所有提交信息(根据表单的name属性)
var myform = document.forms["MyForm"];
//sex是单选按钮的name属性值
var radioChoices = myform.sex;
//遍历整个单选项表
for(i=0;i<radioChoices.length;i++)
if(radioChoices[i].checked)
break; //发现了被选中项,退出
alert("选中的选项是:"+radioChoices[i].value);
}
</script>

注意:

1)、在客户端,Javascript 对表单及表单元素的操作,更常用其name 属性而不是id属性。因为,对于某些特定的表单元素(如:单选按钮等),使用其name 属性更易于获得元素值,也更方便向服务器传送数据!

2)、保证同一组单选按钮的name 属性值相同。

复选框:

复选框的“全选”、“全不选”、“反选”功能 以及 所选复选框值的获得功能

<form name="MyForm" action="URL" method="post">
  <input type="checkbox" name="hoboy" id="music"><label for="music">music</label>
  <input type="checkbox" name="hoboy" id="swim"><label for="swim">swim</label>
  <input type="checkbox" name="hoboy" id="dance"><label for="dance">dance</label>   <input type="button" value="全选" onclick="selectBoxs(1);" />
  <input type="button" value="全不选" onclick="selectBoxs(0);" />
  <input type="button" value="反选" onclick="selectBoxs(-1);" />
  <input type="submit" value="提交" onclick="submit();" />
</form> <script language="javascript"> //全选,全部选,反选
function selectBoxs(value){
var myform = document.forms["MyForm"];
//hoboy 为所有复选框的name属性值
var CheckboxChoices = myform.hoboy; for(var i=0;i<CheckboxChoices.length;i++) //遍历每一个选项
if(value < 0)//反选
CheckboxChoices[i].checked = !CheckboxChoices[i].checked;
else
//value为1是则全选,为0时则全不选
CheckboxChoices[i].checked = value;
} function getSelect(){
var myform = document.forms["MyForm"];
var CheckboxChoices = myform.hoboy;
  //创建数组放checkbox选中的值
var arrayCheckbox = new Array();
for(var i=0;i<CheckboxChoices.length;i++){
  if(CheckboxChoices[i].checked)
    arrayCheckbox.push(CheckboxChoices[i].value);
}
alert(arrayCheckbox);
} </script>

注意:保证同一组复选框按钮的name 属性值相同。

下拉框:

下拉框的重要属性:

multiple 属性:用于设置下拉表框的类型(多选还是单选)

type 属性:JS根据type 属性的值获得下拉列表框select 控件的类型。

type 属性的值为:select-multiple(多选) 或 select-one(单选)

下拉列表框默认只能选中一项,若要设置为可以多选,则设置<select multiple = "multiple"> 即可。

size属性:定义可见选项的数目。size="3",即下拉框内可以显示三个可选选项。

<form name="MyForm" action="URL" method="post">
  <p>简单的选择列表</p>
  <select id="myselect" name="myselect" multiple="multiple" size="3">
<option value="Apples">Apples</option>
<option value="Bananas">Bananas</option>
<option value="Cherries">Cherries</option>
<option value="oranges">oranges</option>
</select></br>
  <input type="button" onclick="getSelectValue('myselect')" value="查看选项" />
</form> <script language="javascript">
//获取选中的下拉列表值
function getSelectValue(myselect){
var myform = document.forms["MyForm"];
var select = myform.elements[myselect];
//判断是单选还是多选
if(select.type == "selece-one"){
var oneChoice = select.selectedIndex;//获取选中项
alert("单选" + select.options[oneChoice].value);//获取选中项的值
}
else{
var multiChoices = new Array();
//遍历整个下拉菜单
for(var i=0;i<select.options.length;i++)
if(select.options[i].selected)
multiChoices.push(select.options[i].value);
alert("多选" + multiChoices);
}
}
</script>

提示:

在不同操作系统中,选择多个选项的差异:

  • 对于 windows:按住 Ctrl 按钮来选择多个选项
  • 对于 Mac:按住 command 按钮来选择多个选项

由于上述差异的存在,同时由于需要告知用户可以使用多项选择,对用户更友好的方式是使用复选框。

§  form提交方式

表单的提交方式由method属性的取值决定,所以form提交方式有以下两种:

 get 方式:

表单数据将会追加action指定的URL后面,做为URL链接而传递(以查询字符串的形式提交到服务端)。

变量提交的样式为:html元素的name属性=提交的值。多个变量,在URL链接后面以 & 符号隔开。

 post方式:

表单数据将附加在请求体(HTML Headers)上被发送出去,并不附加在URL链接后面。

建议:表单通常还是以post方式提交比较好,这样可以不破坏URL,况且URL还有长度限制。

get 与 post 的区别:

1)、get是从服务器上获取数据;post是向服务器传送数据

2)、数据的查询:比如浏览论坛或博客时,URL一般包含了分类、页码数、每页记录数等信息。 get 方式,能一目了然的看到所要查询的信息; post 因为隐藏掉了这些信息,不方便进行查询。

3)、数据安全性:对一项记录,进行更改、添加操作时,get 方式附加在URL上,会泄露数据;post 方式,能隐藏数据,保证数据的安全性。

4)、数据传输量:get 虽然方便查询,但由于是附加在URL上,使得其传送的数据量较小,不能大于2KB;post传送的数据量较大,一般被默认为不受限制。

资源链接

推荐 :更多代码详解,请转到代码仓库:https://github.com/Tina-xy/HTML

推荐 : Fish Li 博主的 ---- 细说Form(表单)  

http://www.cnblogs.com/fish-li/archive/2011/07/17/2108884.html

HTML ------ 关于表单 Form的更多相关文章

  1. Bootstrap~表单Form

    回到目录 在进行自己的后台改版时,大体布局都使用了bootstrap,剩下的表单部分没理由不去使用它,对于表单的美化和布局,bootstrap做的也是很不错的,有大气的边框,多功能的按钮及宏观的表单布 ...

  2. 表单 - Form - EasyUI提供的表单异步提交

    方案一 被提交的表单 <form id="loginForm" method="post"> <table align="cente ...

  3. 跟服务器交互的Web表单(form)

    使用HTML来构建可以跟服务器交互的Web表单(form),通过给你的form元素添加一个action属性来达到此目的. action属性的值指定了表单提交到服务器的地址. 例如: <form ...

  4. 3、网页制作Dreamweaver(表单form)

    表单form (虚线不显示) 1.写法: <form id="form1" name="form1" method="post" ac ...

  5. DHTMLX 前端框架 建立你的一个应用程序 教程(九)--绑定表单Form到表格Grrid中

    绑定表单Form到表格Grrid中 现在我们需要选中一行表格数据的时候 数据能在表单中显示出来 我们可以使用DHTMLX 丰富的组件功能实现它. 绑定表单到表格 1.调用bind方法将表单绑定到网格, ...

  6. DHTMLX 前端框架 建立你的一个应用程序 教程(八)-- 添加表单Form

    添加表单Form 我们下一步是在页面中添加一个表单,表格中的选中字段将会显示在表单中.提供一个提交按钮 可以对显示的数据进行修改提交. 添加表单到布局单元格中 1.在右侧布局中使用attachForm ...

  7. 微信小程序基础之表单Form的使用

    表单Form的应用很广泛,我们可以利用form设计登录注册,也可以设计一种答题问卷的形式,今天主要讲一下form的使用 form表单,将组件内输入的"switch","i ...

  8. HTML(七)HTML 表单(form元素介绍,input元素的常用type类型,input元素的常用属性)

    前言 表单是网页与用户的交互工具,由一个<form>元素作为容器构成,封装其他任何数量的表单控件,还有其他任何<body>元素里可用的标签 表单能够包含<input> ...

  9. 表单<form></form>提交方式的区别

    <form action="" method="get/post"> 表单<form></form>的提交方式有两种:pos ...

随机推荐

  1. 编译可供C#调用的C/C++动态链接库dll文件

    编译可供C#调用的C/C++动态链接库dll文件,C语言控制台应用程序,探索生成dll过程 由于项目需求,需要公司另一个团队提供相关算法支持,是用C语言编译好的dll库提供给我们进行调用. 但是拿到d ...

  2. Java中, for循环经典例子

    循环的两种应用:穷举和迭代. break跳出整个循环 一.穷举:将所有可能的情况都走一遍,用if筛选出符合条件. 百鸡百钱: 一只公鸡1文钱,一只母鸡2文钱,一只小鸡半文钱,需要买100只鸡, 正好花 ...

  3. SpringMVC基本使用

    springMVC是一个MVC框架,他控制着请求相应的整个流程,从请求一进入到应用服务器到相应离开,都离不开mvc框架 请求在应用服务器中 先说说请求相应在应用服务器的整个过程 DisptacherS ...

  4. 如何使用grunt压缩js文件

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  5. jquery.dataTable.js 基础配置

    $(document).ready(function () { $('#dataTables-example').DataTable({ responsive: true, "bPagina ...

  6. DOM事件揭秘-事件流

    事件:文档/窗口中发生的特定的交互瞬间 瀑布流,图片轮播 动作都是通过事件触发的 课程内容: 1,理解事件流 2,使用时间处理程序 3,不同的事件类型 ie4.0以后, 事件流:描述的是从页面中接收事 ...

  7. SAP Fiori和UI5的初学者导航

    你是UI5和Fiori的新手?来对地方了. 对我来说,今年是不得不“跟上时代”去提升自己ABAP世界以外的技术技能的困难的一年.幸运的是,有很多可免费获得的信息和课程可以帮你实现这个跳跃.不要等着别人 ...

  8. iOS 怎么设置 UITabBarController 的第n个item为第一响应者?

    iOS 怎么设置 UITabBarController 的第n个item为第一响应者? UITabBarController 里面有个属性:selectedIndex @property(nonato ...

  9. iOS之常用宏定义

    下面我为大家提供一些常用的宏定义! 将这些宏定义 加入到.pch使用 再也不用 用一次写一次这么长的程序了 //-------------------获取设备大小------------------- ...

  10. React Native知识7-TabBarIOS组件

    一:简介 两个TabBarIOS和TabBarIOS.Item组件可以实现页面Tab切换的功能,Tab页面切换的架构在应用开发中还是非常常见的.如:腾讯QQ,淘宝,美团外卖等等 二:TabBarIOS ...