表单相关标签之form标签
表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。
表单还可以包含 menus、textarea、fieldset、legend 和 label 元素以及其它块级元素
表单用于向服务器传输数据。
<form action="form_action.asp" method="get">
<p>First name: <input type="text" name="fname" /></p>
<p>Last name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>
标签属性
name
<form action="form_action.asp" method="get" name="myForm"></form>//Form 标签元素自身并没有数据传输,它的 name 属性只是提供了一种在脚本中引用表单的方法。
获取form:
document.forms[formName] //得到页面中相应name的表单
document.formName;//最为常用的一种方式
document.getElementById(formId);
document.forms[i] //得到页面中的第i个表单
document.getElementsByName("name名称");
accept-charset
<form accept-charset="value"> //规定服务器用哪种字符集处理表单数据,如需规定一个以上的字符集,使用逗号来分隔各字符集。
常用值:
- UTF-8 - Unicode 字符编码
- ISO-8859-1 - 拉丁字母表的字符编码
- gb2312 - 简体中文字符集
action和method
<form action="form_action.asp" method="get"></form>//action:表单提交目标服务器地址,method:以什么方式提交,共有两种方法:POST 方法和 GET 方法
action可能的值:
- 绝对 URL - 指向其他站点(比如 src="www.example.com/example.htm")
- 相对 URL - 指向站点内的文件(比如 src="example.htm")
method数据传输过程:
采用 POST 方法,浏览器将会按照下面两步来发送数据。首先,浏览器将与 action 属性中指定的表单处理服务器建立联系,一旦建立连接之后,浏览器就会按分段传输的方法将数据发送给服务器。
采用 GET 方法,这时浏览器会与表单处理服务器建立连接,然后直接在一个传输步骤中发送所有的表单数据:浏览器会将数据直接以?拼接在表单的 action URL 之后
ttp://www.example.com/example/program?x=28&y=66
采用post还是get?
- 为获得最佳表单传输性能,可以采用 GET 方法发送只有少数简短字段的小表单。
- 一些服务器操作系统会限制其数目和长度,对那些有许多字段或是很长的文本域的表单来说,就应该采用 POST 方法来发送
- 想服务器端的表单处理简单点就用GET 方法。如果采用 POST 方法,就要在读取和解码方法做些额外的工作。
- 如果安全性是个问题,那么我们建议选用 POST 方法。GET 方法将表单参数直接放在应用程序的 URL 中,这样网络窥探者可以很轻松地捕获它们,还可以从服务器的日志文件中进行摘录。如果参数中包含了信用卡帐号这样的敏感信息,就会在不知不觉中危及用户的安全。而 POST 应用程序就没有安全方面的漏洞,在将参数作为单独的事务传输给服务器进行处理时,至少还可以采用加密的方法。
- 如果想在使用比如像a标签之类的发起请求,而且包括向其传递参数的过程,就要采用 GET 方法,因为该方法允许把表单这样的参数包括进来作为 URL 的一部分
注意分隔参数所用的 & 符号是字符实体中的插入符号
<a href="http://www.example.com/example/program?x=28&y=66">
enctype
<form action="form_action.asp" enctype="text/plain"></form>//enctype:规定在发送到服务器之前应该如何对表单数据进行编码。
enctype 属性可能的值:
- application/x-www-form-urlencoded(默认)
- multipart/form-data (不对字符编码,用于发送二进制的文件,在使用包含文件上传控件的表单时,必须使用该值)
- text/plain (空格转换为 "+" 加号,但不对特殊字符编码。)
autocomplete
<form action="demo_form.asp" method="get" autocomplete="on"></form>//当用户开始输入时,浏览器基于之前输入过的值,显示出填写的选项。
autocomplete 属性适用于 <form>,以及下面的 <input> 类型:text, search, url, telephone, email, password, datepickers, range 以及 color。
autocomplete属性可能的值:
- on (启用自动完成功能)
- off (禁用自动完成功能)
novalidate
<form action="demo_form.asp" novalidate="novalidate"></form>//当提交表单时不对其进行验证。
novalidate 属性适用于:<form>,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, range 以及 color。
target
<form action="form_action.asp" method="get" target="_blank"></form>//规定在何处打开 action URL。
target属性可能的值:
- _blank(在新窗口中打开)
- _self (默认。在相同的框架中打开)
- _parent (在父框架集中打开)
- _top (在整个窗口中打开)
- framename (在指定的框架中打开)
ajax模拟表单提交
有时候前台的数据提交到后台,不想使用form表单上传,希望通过Ajax上传。
使用场景:
1、使用其他标签代替input标签写样式比较方便
2、在使用form表单的时候,一旦点击提交触发submit事件,一般会使得页面跳转,页面间的跳转等行为的控制权往往在后端,后端会控制页面的跳转及数据传递,但是在某些时候不希望页面跳转,或者说想要将控制权放在前端,通过js来操作页面的跳转或者数据变化。一般这种异步的操作,我们都会想到ajax方式
怎么模拟,戳链接:
另外附上个人一次使用formData开发的经验总结文章:移动端开发遇到的问题之:表单
表单相关标签之form标签的更多相关文章
- angular4 Form表单相关
ng4中,有两种方式去声明一个表单 一:Template-Driven Forms - 模板驱动式表单 [引入FormsModule] 1.ngForm赋值 [可以方便的获取表单的值] <f ...
- django 表单系统 之 forms.Form
继承forms.Form实现django表单系统 参考: https://www.cnblogs.com/zongfa/p/7709639.html https://www.cnblogs.com/c ...
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- ajax表单提交插件jquery.form.js的运用
该插件提交的数据包含上传的图片. 1.先导入jquery.form.js 2.form表单的元素: <form id="form2_form" method="po ...
- Ajax表单提交插件jquery form
jQuery Form插件是一个优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交. jQuery Form有两个核心方法ajax ...
- PhpForm表单相关的超全局变量操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 表单相关标签之input标签
用于搜集用户信息. <input type="text" name="fname" /> 标签属性 type 规定 input 元素的类型.输入字段 ...
- form表单以及内嵌框架标签
今关于今天所学习的东西又复杂又简单,上午学习了form表单,也是挺简单的:搭配table表格使用也是非常熟练. 下午讲了讲给网页内嵌框架标签以及在内嵌框架标签中添加其他的网页:还有在内嵌框架标签中添加 ...
- html表单相关标签及属性
1.<form>标签 定义整体的表单区域 action属性 定义表单数据提交地址 method属性 定义表单提交的方式,一般有“get”方式和“post”方式 2.<label> ...
随机推荐
- bcftools将vcf生成bgzip和index格式
利用bcftools软件将vcf格式生成gz格式和index格式,需要用到“-Oz”和“index”命令,具体如下: /bcftools-1.8/bin/bcftools view ExAC.vcf ...
- plink: 等位型计数(allele count)
对genotype的等位型进行计数,需要用到以下参数: --freq Allele frequencies--counts Modifies --freq to report actual allel ...
- JS怎么判断一个对象是否为空
昨天面试的时候被问到的问题.只怪自己根基不牢,没有回答好 甚至说出了“判断这个obj是否和{}相等”这样鱼蠢的答案(/(ㄒoㄒ)/~~)引用类型怎么可以直接判断==或者===呢?! 今天中秋佳节,宝宝 ...
- cookie猜数字游戏(下)------------以及cookie使用的不安全之处
1.通过cookie可以解决上篇中多个用户对数据的修改,每个COOKIE保存不同用户的数据 <?php if(empty($_COOKIE['num'])||empty($_GET['num'] ...
- Mac上深色模式下的精美炫酷软件
针对发布的 macOS Mojave 10.14 系统中,最大的改变就是引入了深色模式,尤其对技术开发人员来说非常实用,非常的酷! 深色模式使用一种较深的配色方案,这种配色作用于整个系统,包括 Mac ...
- Java_去除字符串空格
String ss = " happy new year "; System.out.println(ss + "------" + ss.length()); ...
- jvm垃圾收集器与内存分配策略
一.垃圾回收 1.对象是否已经变为垃圾 1.1.引用计数法:给对象添加一个引用计数器,每当有地方引用它时,计数器就加1:当引用失效时,计数器值就减1:任何时刻计数器为0的对象就是不可能再被使用的. 这 ...
- Java面试题全集(下)转载
Java面试题全集(下) 这部分主要是开源Java EE框架方面的内容,包括hibernate.MyBatis.spring.Spring MVC等,由于Struts 2已经是明日黄花,在这里就不 ...
- 13.模板方法(Template Method)
无处不在的Template Method 如果你只想掌握一种设计模式,那么它就是Template Method!动机(Motivate): 变化 -----是软件设计的永恒主题,如何管理 ...
- Ubuntu修改Apache默认Web端口
改成你要的端口,默认为80,这里我改成了8080,https改成了444,保存之后寻找000/default.conf并修改成和ports.conf文件一样的http端口,然后重启Apache服务器即 ...