HTML的form表单标签详解~

通过HTML提交表单数据有web中是非常常用的操作,所以有必要详细、仔细学习了解HTML的form表单。

目录

  • [01-关键词 novalidate 是什么意思?](#01-关键词 novalidate 是什么意思?)
  • [02- action="" 是什么意思?](#02- action="" 是什么意思?)
  • [03- enctype="multipart/form-data" 是什么意思?](#03- enctype="multipart/form-data" 是什么意思?)

01-关键词 novalidate 是什么意思?

示例代码:

html 复制代码
 <form novalidate method="post" class="form-horizontal">

答:在HTML中,novalidate 是一个布尔属性,通常用于 <form> 元素中。它用来指示浏览器不应该对表单中的输入进行验证,即不执行浏览器默认的表单验证行为。

当表单中的 novalidate 属性被设置时,浏览器将不会执行对表单字段的验证,包括输入是否符合类型、是否满足必填条件等。这对于那些希望自定义验证逻辑或在后端进行验证的情况非常有用。你可以通过JavaScript来处理自定义的验证逻辑,并在需要时通过表单的提交事件来触发验证。

novalidate 属性被应用在 <form> 标签上,这意味着在提交表单时,浏览器不会执行默认的表单验证,而是需要通过其他方式来处理验证逻辑。这可能是因为开发人员想要使用自己的验证逻辑,或者他们计划在后端进行验证。

02- action="" 是什么意思?

示例代码:

html 复制代码
<form novalidate action="" method="post" class="form-horizontal">

action="":这是 <form> 元素的一个属性,用于指定在表单提交时要发送数据的目标URL。空字符串 "" 表示数据将被提交到当前页面。

03- enctype="multipart/form-data" 是什么意思?

示例代码:

html 复制代码
<form novalidate action="" method="post" enctype="multipart/form-data" class="form-horizontal">

在HTML中,enctype<form> 元素的一个属性,用于指定在提交表单数据时所使用的编码类型。multipart/form-data 是其中一种编码类型,通常用于在表单中上传文件或二进制数据。

当你在表单中有文件上传字段(例如 <input type="file">)或者需要发送二进制数据时,你需要将表单的 enctype 属性设置为 multipart/form-data,以便正确处理这些数据。这种编码方式允许将二进制文件数据以及其他表单字段的数据一起编码并发送到服务器。

multipart/form-data 编码将表单数据分成多个部分,每个部分都有自己的头部信息和内容。这种编码方式适用于文件上传,因为它能够正确处理文件的二进制数据,而其他的编码方式(例如默认的 application/x-www-form-urlencoded)可能会导致文件数据损坏或丢失。

所以,enctype="multipart/form-data" 表示表单将以多部分形式编码,适用于包含文件上传或二进制数据的情况。

相关推荐
乘风gg3 小时前
企业级 AI Coding 的 Harness 工程实战:8 个 Skill 串起全链路
前端·ai编程·claude
染指11105 小时前
103.RAG-LLamaIndex后端rag问答-聊天接口
前端·javascript·vue.js·人工智能
东风破_12 小时前
danci 项目(三):从 JSON 数据到 AI Coding,真实项目里的数据清洗、Prompt 和工程规范
前端·后端·node.js
东风破_12 小时前
danci 项目(一):从需求到架构,一个单词学习系统为什么会这样设计
前端·后端·node.js
蒲公英eric13 小时前
从客户端到服务端:DVWA DOM 型 XSS 模块完整漏洞分析教程
前端·web安全·ai·xss·dvwa·ai安全
单线程_0113 小时前
从案例分析 Vue3 Tokenizer+Parser 源码三
前端·javascript·vue.js
顶点多余13 小时前
那些在算法中适合巩固的知识点---1
java·前端·算法
Setsuna_F_Seiei14 小时前
前端转型 Agent 开发 03 之 Agent Tools - 给 Agent 装上手脚
前端·agent·ai编程
jay神14 小时前
【计算机毕业设计】基于SpringBoot的程序教学辅助系统
java·前端·vue.js·spring boot·后端·毕业设计·课程设计
kyriewen16 小时前
我装了30多个Skill,给AI安排了8个岗位
前端·javascript·ai编程