表单元素 开篇

今天开始讲述表单这个重要模块

可以说,JS 最早是为表单而发明的, 因此在没有JS之前,所有操作都需要提交后端验证,发现有误再重定向回原页面, 加上之前1,2KB的网速,这用户体验真是奇差无比.因此JS最初发明出来,就是做表单验证的.

围绕表单,添加了各种语义化的元素,事件,属性.

比如说label,在某个radio外围上它,既能说明它是什么东西,也能扩大点击范围

比如说fieldset,它拥有默认的框框,方便圈定某个区域,表明这里面的东西是表单(form本身默认不可见, 而CSS要在稍晚的时候才发明出来)

比如说, onchange, oninput, onsubmit等事件,提交与用户交互的友好度

比如说, readOnly, disabled, checked, 为表单元素增加各种状态.

我们可以给一个定义,何谓表单元素 ?就是能向后端提供数据的元素

而这些元素通过都放在form元素中,但如果将它们单个拎出来,这个不好判定,我们还可以通过其他"外观"特征获得,就是它们的tagName都是input, button, select, textarea.其实option元素也算是表单元素,但它的数据需要提交到select 元素 进行过滤,才能提交


function isFormElement(el){return /input|button|select|textarea/i.test(el.tagName)
}

在HTML5中,还添加类似datalist, output等元素, 但它们只是辅助设施,没有直接给form提交数据的能力,因此不算是表单元素.

form元素作为AJAX出现前唯一的提交通道,我们在这里着重说一下

它上面拥有如下属性

属性  值  描述 
acceptMIME_type 规定通过文件上传来提交的文件的类型
accept-charsetcharset服务器处理表单数据所接受的字符集
enctypeMIME_type规定表单数据在发送到服务器之前应该如何编码
method get/post规定表单数据发送的方式,get方法和post方法
namename规定表单的名称
target_blank/_parent/_self/_top 规定在何处打开action URL

其中三个重要属性说明一下:

1、action指定该表单发送时接受操作的地址

2、method指定表单数据发送的方法。可选值:get、post。get发送则表单内的数据将附加到url后发送。post则是在HTTP请求中发送。

3、enctype指定表单数据在发送的服务器之前如何编码,特别注意的是,当含有上传域时要设置编码方式为enctype="multipart/form-data",否则后台无法获取到浏览器发送的文件数据。是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,form里面的input的值以2进制的方式传过去。才能完整的传递文件数据。FTP上传大文件的时候,也有个选项是以二进制方式上传。

t01174653fa1ce5705c.jpg

表单里面的元素布置有一定的要求,如form里面一定放着fieldset, fielset里面包着legend, label包着说明文字与input, textearea...., label里要指定tabindex,就是tab切换的顺序。


health information height: weight:

不同的表单拥有不同的外形,它们的用法也各有不同,序列化数据也不一样,因此我们将分开以下几种细细讨论.

输入系, 选择系, 下拉系, 搭车系, 图形系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目录(文章更新中...)《实战NFT web3 solidity(新版本0.8.+)》

注:由于是付费专栏内容,若有错误请及时联系1_bit,博客链接:https://blog.csdn.net/A757291228 ,或在文章下留言,收到后将会对错误进行改正,若是版本更新导致的问题也希望大家对错误进行提交&…

如何画出一张合格的技术架构图?

阿里妹导读:技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善等经验方面的分享,以提高我们的专业能…

.NET 发布和支持计划介绍

.NET 发布和支持计划介绍Intro对于 .NET 的发布,大多数童鞋都知道现在每年发布一个版本,针对 .NET 的发布,最近有些更新,Current 版本将改为 STS 版本,所以写一篇文章介绍一下每年 11 月都会发布新的 .NET 主要版本&am…

C语言试题七十五之请编写函数求回文数

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数:…

【spring boot】8.spring boot的日志框架logback使用

在继续上一篇的Debug调试之后,把spring boot的日志框架使用情况逐步蚕食。 参考:http://tengj.top/2017/04/05/springbo 开篇之前,贴上完整application.properties日志相关配置 简介:spring boot的默认日志框架Logback SLF4J——…

【无人机知识】吐血整理:史上最全最完整的飞机基本参数名称详解

飞机基本参数大全: 机翼(airfoil):产生飞行所需升力,支持飞机在空中飞行,也有稳定操纵的作用。副翼(aileron):是指安装在机翼翼梢后缘的一小块可动的翼面。飞行员操纵左右副翼差动偏转所产生的滚转力矩可以使飞机做横滚机动。机身(fuselage):装载机组成员、旅客、货…

通过iscsi配置在aix上挂载存储设备

本文中我们利用starwind虚拟存储进行设置,以下为实验环境说明:Windows环境:win7,ip address:10.3.5.7,iscsi initiator name :iqn.2008-08.com.starwindsoftware:joker-pc-aixAix环境:ip addres…

16进制可逆加密算法

16进制可逆操作类&#xff1a; public static class Hex16{/// <summary>/// 作用&#xff1a;将字符串内容转化为16进制数据编码&#xff0c;其逆过程是Decode/// 参数说明&#xff1a;/// strEncode 需要转化的原始字符串/// 转换的过程是直接把字符转换成Unicode字符,…

原生js声音播放代码

最终测试页页面 测试页面html代码(test.html) <!doctype html> <html lang"en"><head><meta charset"UTF-8"><meta name"Generator" content"EditPlus"><meta name"Author" content"…

写给 Kubernetes 工程师的 mTLS 指南

本文翻译节选自 A Kubernetes engineer’s guide to mTLS[1]&#xff0c;为了便于读者理解&#xff0c;笔者对原文做了一点修改 &#xff08;本文删除了原文中的与主题关系不大的 Linkerd 安装的部分&#xff0c;将 Twillio 替换成国内读者比较熟悉的 GitHub&#xff09;。因为…

ArcGIS实验教程——实验三十五:ArcGIS Model Builder与空间建模原理、案例详解

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 一、 空间建模概述1. 空间建模概述2. 空间建模步骤二、Model Builder建模1. Model Builder基础2. Model Builder操作3. Model Builder高级进阶操作一、 空间建模概述 1. 空间建模概述 …

C语言试题七十六之请编写函实现百钱买百鸡

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数:…

二、solidity 基础进阶(2.1)—— library 库合约《实战NFT web3 solidity(新版本0.8.+)》

《web3 solidity0.8.版本&#xff08;持续更新新版本内容&#xff09; 基础到实战NFT开发》会及时更新新版本 solidity 内容&#xff0c;以及完成最终的 NFT 实战商业项目部分。 注&#xff1a;由于是付费专栏内容&#xff0c;若有错误请及时联系1_bit&#xff0c;博客链接&am…

paper 17 : 机器学习算法思想简单梳理

前言&#xff1a; 本文总结的常见机器学习算法&#xff08;主要是一些常规分类器&#xff09;大概流程和主要思想。 朴素贝叶斯&#xff1a; 有以下几个地方需要注意&#xff1a; 1. 如果给出的特征向量长度可能不同&#xff0c;这是需要归一化为通长度的向量&#xff08;这里以…

BZOJ1179 Atm //缩点+spfa

1179: [Apio2009]Atm Description Input 第一行包含两个整数N、M。N表示路口的个数&#xff0c;M表示道路条数。接下来M行&#xff0c;每行两个整数&#xff0c;这两个整数都在1到N之间&#xff0c;第i1行的两个整数表示第i条道路的起点和终点的路口编号。接下来N行&#xff0c…

centos 新建swap区文件

一. 相当详细且流程完整&#xff0c;&#xff08;推荐阅读&#xff09; 在centos7上新建swap区 https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-centos-7 二. centos官网 转&#xff1a;https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-sw…

ArcGIS实验教程——实验三十六:ArcGIS Python脚本的巧妙使用

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 一、ArcGIS脚本简介二、Python脚本与ArcPy三、Python窗口四、脚本编写(案例:矢量数据批量裁剪)五、在ModelBuilder中使用脚本工具一、ArcGIS脚本简介 脚本与模型相似,也是把处理过程…

基于Spring Boot和Spring Cloud实现微服务架构学习

目录 Spring 顶级框架 Spring cloud子项目 WHAT - 什么是微服务 微服务简介 微服务的具体特征 SOA vs Microservice HOW - 怎么具体实践微服务 客户端如何访问这些服务&#xff1f; 服务之间如何通信&#xff1f; 这么多服务&#xff0c;怎么找? 这么多服务&#x…

C语言试题七十七之请编写函实现渔夫打鱼晒网问题

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数:…

.NetCore实现图片缩放与裁剪 - 基于ImageSharp

前言&#xff08;突然发现断更有段时间了最近在做博客的时候&#xff0c;需要实现一个类似Lorempixel、LoremPicsum这样的随机图片功能&#xff0c;图片有了&#xff0c;还需要一个根据输入的宽度高度获取图片的功能&#xff0c;由于之前处理图片时使用到了ImageSharp库&#x…