html中form表单的练法

学form表单的时候,听老师讲的晕晕乎乎的,最多做到讲了什么内容,但是还是晕晕乎乎的,因为说真的,他讲课有他自己的逻辑,自己的概念储备,自己的逻辑性的。而我一听,只能任其所为,无法举一反三,只能憋屈地记笔记,其实心里是不爽的,不能知其所以然也。后来,练多了,对其中的一些概念有了自己的理解,才算度过了这种明明感觉学过了的东西,但是却好像没有用的感觉了。重点是什么?是对概念的引入!

简单谈谈form心得

具体的form的简介,属性之类的,我不会多说,这是最基本的概念,大家都不难查到的。这是个重点,概念的引入可以让你知道什么是什么,用在哪里,格式是怎样的,修饰它的属性又是如何作用的?其实,我感觉学HTML从开始就应该清晰自己的思路,因为全都是零碎的点,而且单单只是html的话,没有太多功能和花样可以玩,也让你没有什么任务可以练习,如果单单敲代码,打出个没有渲染的网页,你又会觉得好无趣。所以,缺乏练习的情况下,更需要理清思路,分清因果,然后才会学到家的。
比如标签,每个标签都有定义,应用范围,为了让标签更生动,应用面更广,会有各个属性延伸,更精确到某一特定场景的。然后就是为了让浏览器能知道你写了什么,你写的必须要规范,要符合浏览器可以解析出来的格式。好比,我们在学数学时,会有变量,有函数,公式,概念,条件,题目场景,基本上会是一个套路的。首先,我们要做的是,规范自己,知道html的语法和格式,这是个应式模板,也藏着一些逻辑在里面,可以推敲的。具体,我会在练法中,分析事例的。

练习

form表单大致有单选类,多选类,下拉类,文本类,创建按钮等等吧,先把常见的练习下。

输名字输密码之类的文本框

代码如图

这是一个简易的登录窗口,有输入帐户名,密码,提交的功能吧,具体效果如图:

注意:这里的字体颜色和背景是我在全局设置的,跟这些代码没关系,不要纠结。
我啥都没输入,用户名怎么默认yong了?看代码里,这是value的赋值功能,你还可以删除它,然后会显示“你的名字”这几个字,跟下面“你的密码”一样了,这是input里的placeholder这个占位符的功劳了,作为提醒用户输入什么内容,提交时只是提交用户写进去的东西。

label这个标签是给目标,比如用户名,密码这些目标加功能的,用在选项类里面,能发挥点选项也能选中选项框的功能,下面也会练到。这里的for是引出作用对象,这个标签的作用对象是谁,就for谁,跟action一个语境,所以在学数学时我们经常假设个值,好完成逻辑,这里给作用对象input这个框加个标签,就完成了互相间的联系。这种做法经常会用到,就是为了完成逻辑的。

target这个就不陌生了,描述完input之后,点submit这个按钮,会打开新网页,而不是在当前文件页面。action是让form表单提交的内容送到哪个url或者文件路径那里,这里是随便输的。method的值这里是get,给的意思,还要讲一种值是post,是要的意思。

button仅仅是为了比较跟input做出的按钮的感官如何的。实际上觉得,功能差不多。不过可以单独修饰按钮这个事了。大家可以练一下,找感觉的。
reset是重置你写的内容,点了之后,恢复框内最开始状态。
name就是给作用对象起名字,这个名字是个变量,而且也是有通用语义的,好像X ,Y一样,可以被赋予很确切的值,起的名字最关键的是让服务器看的,而value就是可以赋予确切的值的,在提交选项结果时,服务器依靠name找到对应的value值。
强调一下,form里面,input提交的内容必须要有name这个参数,name就是key,到了服务器内容变成keyvalue形式。这是为了跟服务器对接识别input的内容是哪一个语义的内容的。下面的图会让你看到的。


我现在操作我做的这个东西,研究下method的get。先用终端进入文件所在目录,运行http-server,还有以静态服务器打开页面。
名字默认yong,没改,密码输了123456。点了下submit按钮。然后新打开网页,提示我找不到,因为地址是我随意打的。我在网页右击,点检查,如图


有警告,我点开看了下,我的用户名和密码竟然以某种方式赤裸裸地展示在服务器文件里了,我是请求登录的,把自己的信息给了“服务器“。如图
连网页地址都是包含登录信息的,这确实很不安全。
这里引入一个安全隐患csrf——跨站脚本攻击。推荐资料程序猿必读-防范CSRF跨站请求伪造》。
然后,我把源代码里的get改成post,再操作下,这次没有报错找不到网页了,但是打开了一个空白网页,啥都木有,我再右击检查,继续操作,如图:

这次,比较一下get和post的区别,至少看出我的信息一个是赤裸裸地表现在一个服务器加工出来的url中,一个不显示,却出现在数据包里了。具体的区分,请自行查询,太多了,我不做多解释。只是记住,get会把提交的所有的input的name和其value值拼接成url发给服务器。post相比更安全就好了,还有对csrf的防范也是一个点,大家一点要看的。在input中加个随机值可以有效预防的

 <input type="hidden" name="csrf" value="随意输入">

自己打开网站,服务器发给用户一个随机数,用户提交时,服务器会比较提交时数据里有木有相同的随机数。

单选和多选

代码如下

效果

这是单选的,同样是用的label扩大选择面积的,如果想设定默认选项就用里面的checked去修饰,后面的trul可以省略的。同一道单选题,所有的选项必须要name值相同。
注意,input必须要有value值,因为是单选,name相同,提交的话,必须要区分。

这里点下div,我同样可以为它加class命名的,没有影响。不过老师这么写了,我思考了下,这就是规范性和条理性了,不仅仅自己看更逻辑清晰,别人看也方便。听大佬们说过,一个程序员的发展除了遵循必须的语法啊,规则啊之外,必须要有自己的风格,越想越有意思。


多选的如下图

效果如图

还有多选的另一种应用代码,如图:

当然,这些input没有value值,可以互相比较一下的。

下拉选项

代码如图

.这个比较单一了,除了再次强调name 是定函数的, value是赋值的值,服务器收到的是keyvalue。简单,不多说了。

其他的练习点

代码如下


效果按顺序如图
  • 选择文件,比如文件上传,只接受两种图片文件
  • 多行文本,区别于text的一行,其中的value值是在textarea标签中间输入的,而不是在标签内赋予。cols是行,rows是列。
  • 日期,点一下会出现日历
  • 数字框,点下会有上下箭头调数字
  • 搜索栏,随意
  • 输入邮箱,格式不对,会有提示
  • 输入网址,同上
  • 颜色调整
  • 一个调整条

补充

 <input type="button" value="Buttom" /> 不会提交

类同于disabled。
这里路线其实很清晰了,什么情况下,用什么标签,标签的属性的name定义,对name 的赋予value值,细节操作是为了各种功能的,也就是其他标签的修饰功能了,主要是要明白自己要做什么,服务器要得到什么。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容