有没有发现,自己在写模板的时候很少使用form元素,一来form和table总是那么傻傻分不清楚;二来form的特性理解不清楚,有了input、label来了直接就上,根本不用form(不知道有没有人和我一样)。因此,不得不再来针对form这个元素开个小灶。
追根溯源:
<form> 标签用于为用户输入创建 HTML 表单。表单能够包含input元素(元素由一个开始的标签和结束的标签组成,用来包含某些内容),比如文本字段、复选框、单选框、提交按钮等等,还可以包含textarea、fieldset、legend、label标签(如:<br/>本身既是开始标签也是结束标签,但不包含任何内容,所以这只是个标签)。主要用于向服务器传输数据。它是一个块元素。
条分缕析:
其实form本身还是很高大上的,首先,它是和服务器打交道的,其次,它统帅了旗下的所有表单标签。一般在页面中总会遇到一些个人信息的填写,这儿就是form的用武之地,它有两个重要属性:action(服务器的地址)、method(提交数据的方式)。当你填写完数据后点击提交,form就会携带者这些数据信息找服务器去了。
但是对于input这些表单标签来说,要不要form这个父元素都不是必须的,因为现在有了js,我们提交数据可以用脚本来完成,尤其是现在有了ajax这个异步交互的方式,因此,这样就造成了开篇说的对form陌生的结果。况且,有时候这个input标签不是为了提交数据使用的,它可能仅仅就是单纯的以信息输入的工具来使用。因此,不要在意识里产生form和input等是相互依赖的关系这样的想法。
具体在使用的时候该如何权衡,是用传统的submit方式提交,还是用js进行事件监听,它们之间有什么区别和优劣,数据提交的时候分别都发生了什么,用哪个更可靠,这。。。还需小生另番研究,下回分解。