HTML学习笔记三:表单(一)初级应用

前言

又来更新啦~今天写有关HTML表单创建的笔记,前面还有两篇关于表格和文本的笔记,大家可以去看看:HTML学习笔记摘要目录参考。表单因为种类以及属性挺繁琐,所以单拿出一章来写。对于HTML这种目前学来很简单的,看书看一遍就会,一点难度都没有,但看完啥代码都不会写。所以像我这样写个笔记效果还是蛮好的,虽然大部分内容都是书上有的,但手打一遍收获还是很大的,好了,下面进入正题。
表单主要用于收集网页上浏览者的相关信息,其标签为< form >< /form >。表单的基本语法格式为

<form action="url" method="get|post" enctype="mime"></form>

其中,action = " url "指定助理提交表单的格式,他可以是一个URL地址或者一个电子邮件的地址。method = " get “或者” post "指明提交表单的HTTP方法。enctype = " mime "知名用来把表单提交给服务器时的互联网媒体形式。表单是一个能够包含表单元素的区域。通过添加不同的表单元素,将显示不同的效果。
下面是书上的一个程序:

<body>
<form>
	下面是输入用户登录信息<br>
	用户名称
	<input type="text" name="user">
	<br>
	用户密码
	<input type="password" name="password"><br>
	<input type="submit" value="登陆">
</form>	
</body>


看了这个程序我们知道了,所谓表单就是我们需要提交给网页后台的途径,比如密码,用户名啥的。

表单基本元素

表单元素是能够让用户在表单中输入信息的元素。常见的有文本框,密码框,下拉列表框,单选按钮,复选框等。

单行文本输入框text

单行文本输入框(text)是一种让访问者自己输入内容的表单对象,通常被用来填写单个自或者简短的回答,如用户姓名,地址等。
代码格式:

<input type="text" name="zx" size="..." maxlength="..." value="...">

type="text"定义单行文本框,name定义名字,并不会显示出来,但会在其他地方引用时用到,名字应该是独一无二的。size属性定义文本框的宽度,单位是单个字符宽度。maxlength属性定义最多输入的字符数。value属性定义文本框的初始值。

多行文本输入框textarea

<textarea name="..." cols="//" rows="//" wrap="//"></textarea>

非常简单,首先定义是多行文本框,然后输入名字name,再输入文本框宽度,单位为单个字符宽度。rows属性定义多行文本框的高度,单位为单个字符高度。wrap属性定义内容大于文本区域时显示的方式。

<form>
	请输入您的恋爱情况wrap="hard"<br>
	<textarea name="yourlove" cols="50" rows="5" wrap="hard"></textarea>
	<br>
	<input type="submit" value="提交"><br>
	请输入您的恋爱情况wrap="off"<br>
	<textarea name="yourlove" cols="50" rows="5" wrap="off"></textarea>
	<br>
	<input type="submit" value="提交"><br>
	请输入您的恋爱情况wrap="soft"<br>
	<textarea name="yourlove" cols="50" rows="5" wrap="soft"></textarea>
	<br>
	<input type="submit" value="提交"><br>
	请输入您的恋爱情况wrap="physical"<br>
	<textarea name="yourlove" cols="50" rows="5" wrap="physical"></textarea>
	<br>
	<input type="submit" value="提交"><br>
	请输入您的恋爱情况wrap="virtual<br>
	<textarea name="yourlove" cols="50" rows="5" wrap="virtual"></textarea>
	<br>
	<input type="submit" value="提交"><br>
</form>


对于前几个属性没什么好说的,但最后一个wrap有五个选项,我们不设置它,用默认属性是没啥问题的,但我们在这儿钻研一下,我们把这五个设置一遍,看到出来soft有很大不同,是横着显示的,其他四个没有什么区别,这时就要发挥CSDN的用处啦,我们去百度一下:
soft 在表单提交时,textarea 中的文本不换行。(默认)
hard 在表单提交时,textarea 中的文本换行(包含换行符)。
当使用 “hard” 时,必须指定 cols 属性

嗯哼,没找到我想要的,大多是这三行介绍,是提交时的区别,并不是显示时的区别,就先不管了。。。

密码输入框password

密码输入框就是密码输入框啦,经平时输密码显示小黑点的那个:

<input type="password" name="..." size="..." maxlength="...">

type=" password "定义密码输入框;

<form>
用户姓名:<input type="text" name="yourname">
<br>
登陆密码:<input type="password" name="pw">
<br>
</form>

单选按钮radio

<input type="radio" name=".." value="..">

type = " radio " 定义单选按钮,name就是单选按钮的名称,因为单选按钮都是以组为单位使用的,在同一组中的单选按钮都是同一个名称;value属性定义单选按钮的值。

<form>
	请选择你喜欢的电影类型:
	<br>
	<input type="radio" name="MV" value="MV1">爱情片<br>
	<input type="radio" name="MV" value="MV2">动作片<br>
	<input type="radio" name="MV" value="MV3">爱情动作片<br>
</form>

复选框checkbox

<input type="checkbox" name=".." value="..">
<form>
	请选择你喜欢的电影类型:
	<br>
	<input type="checkbox" name="MV" value="MV1">爱情片<br>
	<input type="checkbox" name="MV" value="MV2">动作片<br>
	<input type="checkbox" name="MV" value="MV3">喜剧片<br>
	<input type="checkbox" name="MV" value="MV4" checked>爱情动作片<br>
</form>


程序中,爱情动作片是默认勾选的。checked属性主要用来设置默认选中项。

列表框select

列表框主要用于在有限的空间里设置多个选项。列表框既可以用作单选,也可以用作复选。

<select name="..." size="..." multiple>
	<option value="..." selected>
		...
	</option>
	...
</select>

size定义列表框的函数,name属性定义列表框的名称,multiple属性表示可以多选,如果不设置本属性,那么只能单选;value属性定义列表项的值,selected属性表示默认已经选中本选项。

<form>
	选择你喜欢的图书类型:<br>
	<select name="fruit" size="3" multiple>
		<option value="BOOK1" >HTML编程</option>
		<option value="BOOK1" selected>学习opencv</option>
		<option value="BOOK1">STM32</option>
	</select>
</form>

普通按钮button

普通按钮用来控制其他定义了处理脚本的处理工作。

<input type="button" name="" value="" onClick="">

value定义按钮显示的文字,onClick属性表示单击行为,也可以表示其他事件,通过指定脚本函数来定义按钮的行为。

<form>
	点击下面的按钮,把文本框1的内容复制到文本框2中:
	<br>
	文本框1:<input type="text" id="field1" value="学习HTML">
	<br>
	文本框2:<input type="text" id="field2">
	<input type="button" name="BU" value= onClick="document.getElementById('field2').value=document.getElementById
														('field1').value">
</form>


这些代码确实能实现复制的功能,但对于onClick="document.getElementById('field2').value=document.getElementById ('field1').value这行代码,我确实看不懂,应该是属于我们上面说的也可以表示其他事件,通过指定脚本函数来定义按钮的行为。里面的脚本吧?不清楚,但我们可以看懂onClick这个词就好了,想来学到后面我们就可以自己写这些操作了。

提交按钮submit

submit用来将输入的信息提交给服务器,代码格式:

<input type="submit" name="..." value="...">

通过提交按钮,可以将表单中的信息提交给表单中action所指向的文件。

<form action="Untitled-1.html" method="get">
	请输入你的名字:<input type="text" name="yourname">
	<br>
	<input type="submit" value="提交">
</form>


我们可以发现,输入名字点击提交后,会跳转到提交的页面<form action="Untitled-1.html" method="get">Untitled-1.html网页,但谁接收了我们提交的名字我们目前并不知道,我们将这个问题留在后续博文中吧,因为我也不知道。

重置按钮reset

重置按钮又叫复位按钮。

<input type="reset" name=",,," value="...">
<form >
	请输入用户名称:<input type="text">
	<br>
	请输入用户密码:<input type="password">
	<br>
	<input type="submit" value="登陆">
	<input type="reset" value="重置">
</form>

尾言

其实按书上所写,本章还有一节高级表单,但写到现在已经5000多字了,虽然很多是代码,不过量也不少了,希望大家可以有所收获,高级表单下篇笔记再写。
我们可以总结如下:

  1. 表单元素是在表单区域< form >内进行布置的
  2. 表单元素都有独一无二的名字name
  3. 表单元素所显示的文字或自身标签为value,选项的value是不表现出来的,按钮的value是按钮所表示的
    好了,今天就到这里,我后续会继续更新我的HTML学习笔记,学完后会整理一些其他所学,多多关注哦~
全部评论

相关推荐

2025-12-31 19:23
已编辑
门头沟学院 Java
ssob是已读不回的,字节是压根不敢投的,简历是反反复复改了N遍的,八股是永远背不完的😅😅😅扯远了,道心破碎了,把简历发出来让大伙先看看笑话。再说正事。寒假日常实习还是很难找,连个面试都难约,我不是个例,这是网上普遍反映。不报希望了,趁着2、3月前赶紧做些什么才是。扔几个碎碎念:1.这破简历还能怎么改?写到什么程度才能过实习岗筛选?广大牛友来锐评一下2.火速辅修go,是否可行目前看来是学习成本最小的。首先,很多go实习岗位已经明确要求掌握gin等技术栈,拿java简历投go的时代已经过去了。其次,很多后端的东西,MySQL、Redis这些都是通用的,不用重新学。所以这个问题就具体为:2.1&nbsp;java&amp;go混血简历怎么写第一个项目,仿大麦的微服务,不太好改。因为有用到Redisson、AOP、SpringAI这些java强相关的东西,包装成go需要替换这些方案。第二个,点评魔改。应该可以包装成go,github上也有人用go重写过。2.2&nbsp;java&amp;go通用的轮子RPC直接pass了,太烂大街了。不知道动态线程池能不能做。反正项目上新有风险,不一定来得及,非必要就不开新的项目。补充:别跟我扯RAG了,这玩意已经成新的烂大街了,详见我上一篇的吐槽。3.认真学微调prompt什么的这个半步踩进算法了已经。八股和场景题完全就是另一套,没两三个月搞不定的。约等于换方向
简历中的项目经历要怎么写
点赞 评论 收藏
分享
1、自我介绍2、Agent项目是实习项目还是个人项目?有没有上线?3、拷打实习(10min)4、大模型微调,你的训练数据集是如何构建的?数据量有多大?5、在构建数据集的过程中,遇到了哪些挑战?花了多长时间?6、你之前的实习经历偏后端工程,你未来的职业规划更倾向于纯后端开发,还是希望从事与AI/大模型结合的工作?7、详细讲一下Golang中Channel的概念和作用,它是否是并发安全的?8、Channel和传统的锁(Mutex)在实现并发控制时有什么区别?各自的适用场景是什么?9、讲一下GMP模型10、当P的本地队列为空或者不为空时,它会怎么去调度G(协程)?11、Redis支持哪些数据结构12、为什么Redis的速度这么快13、如何实现一个类似淘宝搜索框的实时商品名称模糊搜索功能?14、实时输入联想与输入完成后点击搜索在技术实现上有什么本质区别?15、实时搜索通常使用什么网络协议(如WebSocket)?你了解或有使用过吗?讲一下16、请详细说明微信扫码登录的完整流程和背后发生的原理17、在微服务架构中,服务发现和负载均衡是如何实现的?18、服务注册中心(如Nacos,&nbsp;Consul)是如何工作的?服务实例如何注册和保活(如通过心跳机制)?19、讲一下Agent中的“长短期记忆”20、什么样的信息应该放在长期记忆,什么样的信息放在短期记忆?21、当对话轮数很多,上下文窗口不足时,有哪些处理策略?(如截断、压缩)22、如果要进行记忆压缩,通常有哪些方法?23、了解过Agent的设计范式吗?有哪些?24、你设计的Agent是怎么实现ReAct模式的?详细讲讲25、手撕:实现一个并发任务处理器:给定一个包含100个任务ID的列表,要求控制最大并发数为3,模拟并发调用某个外部接口(如打印ID)26、反问
查看24道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务