现代web开发中,表单是用户与网站互动的重要方式之一。HTML5为表单提交提供了强大的功能和丰富的输入类型,让收集和验证用户输入数据变得更加容易和安全。本文将详细介绍HTML5表单的各个方面,包括基本结构、输入类型、验证方法和提交过程。
HTML表单由<form>标签定义,它可以包含输入字段、标签、按钮等元素。一个基本的表单结构如下所示:
<form action="/submit_form" method="post">
<label for="name">姓名:</label>
<input type="text" id="name" name="name" required>
<label for="email">电子邮箱:</label>
<input type="email" id="email" name="email" required>
<input type="submit" value="提交">
</form>
在这个例子中,表单有两个输入字段:姓名和电子邮箱。每个输入字段都有一个<label>标签,这不仅有助于用户理解输入的内容,也有助于屏幕阅读器等辅助技术。<form>标签的action属性定义了数据提交到服务器的URL,method属性定义了提交数据的HTTP方法(通常是post或get)。
HTML5提供了多种输入类型,以支持不同的数据格式和设备。
<!-- 单行文本 -->
<input type="text" name="username" placeholder="请输入用户名" required>
<!-- 密码 -->
<input type="password" name="password" required minlength="8">
<!-- 邮箱 -->
<input type="email" name="email" required placeholder="example@domain.com">
<!-- 搜索框 -->
<input type="search" name="search" placeholder="搜索...">
<!-- 数值 -->
<input type="number" name="age" min="18" max="100" step="1" required>
<!-- 滑动条 -->
<input type="range" name="volume" min="0" max="100" step="1">
<!-- 电话号码 -->
<input type="tel" name="phone" pattern="^\+?\d{0,13}" placeholder="+8613800000000">
<!-- 日期 -->
<input type="date" name="birthdate" required>
<!-- 时间 -->
<input type="time" name="appointmenttime">
<!-- 日期和时间 -->
<input type="datetime-local" name="appointmentdatetime">
<!-- 复选框 -->
<label><input type="checkbox" name="interest" value="coding"> 编程</label>
<label><input type="checkbox" name="interest" value="music"> 音乐</label>
<!-- 单选按钮 -->
<label><input type="radio" name="gender" value="male" required> 男性</label>
<label><input type="radio" name="gender" value="female"> 女性</label>
<!-- 下拉选择 -->
<select name="country" required>
<option value="china">中国</option>
<option value="usa">美国</option>
</select>
<!-- 颜色选择器 -->
<input type="color" name="favcolor" value="#ff0000">
<!-- 文件上传 -->
<input type="file" name="resume" accept=".pdf,.docx" multiple>
HTML5表单提供了内置的验证功能,可以在数据提交到服务器之前进行检查。
<input type="text" name="username" required>
<input type="text" name="zipcode" pattern="\d{5}(-\d{4})?" title="请输入5位数的邮政编码">
<input type="number" name="age" min="18" max="99">
<input type="text" name="username" minlength="4" maxlength="8">
当用户填写完表单并点击提交按钮时,浏览器会自动检查所有输入字段的有效性。如果所有字段都满足要求,表单数据将被发送到服务器。否则,浏览器会显示错误信息,并阻止表单提交。
<input type="submit" value="提交">
可以使用JavaScript来自定义验证或处理提交事件:
document.querySelector('form').addEventListener('submit', function(event) {
// 检查表单数据
if (!this.checkValidity()) {
event.preventDefault(); // 阻止表单提交
// 自定义错误处理
}
// 可以在这里添加额外的逻辑,比如发送数据到服务器的Ajax请求
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单提交并显示JSON</title>
</head>
<body>
<!-- 表单定义 -->
<form id="myForm">
<label for="name">姓名:</label>
<input type="text" id="name" name="name">
<br>
<label for="email">电子邮件:</label>
<input type="email" id="email" name="email">
<br>
<input type="button" value="提交" onclick="submitForm()">
</form>
<script>
// JavaScript函数,处理表单提交
function submitForm() {
// 获取表单元素
var form = document.getElementById('myForm');
// 创建一个FormData对象
var formData = new FormData(form);
// 创建一个空对象来存储表单数据
var formObject = {};
// 将FormData转换为普通对象
formData.forEach(function(value, key){
formObject[key] = value;
});
// 将对象转换为JSON字符串
var jsonString = JSON.stringify(formObject);
// 弹出包含JSON字符串的对话框
alert(jsonString);
// 阻止表单的默认提交行为
return false;
}
</script>
</body>
</html>
在这个例子中:
注意,这个例子中我们使用了type="button"而不是type="submit",因为我们不希望表单有默认的提交行为。我们的JavaScript函数submitForm会处理所有的逻辑,并且通过返回false来阻止默认的表单提交。如果你想要使用type="submit",你需要在<form>标签上添加一个onsubmit="return submitForm()"属性来代替按钮上的onclick事件。
HTML5的表单功能为开发者提供了强大的工具,以便创建功能丰富、用户友好且安全的网站。通过使用HTML5的输入类型和验证方法,可以确保用户输入的数据是有效的,同时提高用户体验。随着技术的不断进步,HTML5表单和相关API将继续发展,为前端工程师提供更多的可能性。
篇文件主要介绍通过springboot 去创建和提交一个表单。
创建工程
涉及了 web,加上spring-boot-starter-web和spring-boot-starter-thymeleaf的起步依赖。
创建实体
代码清单如下:
创建Controller
页面展示层
src/main/resources/templates/greeting.html
src/main/resources/templates/result.html
启动工程,访问ttp://localhost:8080/greeting:
点击submit:
原文地址:https://dwz.cn/0m2gosTJ
作者:方志朋
一篇文章我们说了单选框、多选框以及下拉框的使用,今天呢我们继续看一下表单剩下的常用控件:提交按钮以及重置按钮。
提交按钮,顾名思义就是当我们填好了表单中的数据之后,我们需要通过提交按钮来将数据传递到后台的服务器中,供后台程序使用。
使用语法:<input type="submit" value="提交数据">
详细讲解:
1、type:只有当type值设置为submit时,按钮才有提交作用,才能正常的进行表单的提交。(或者使用JavaScript代码来触发提交事件,这个到后期我们讲解js的时候我进行介绍)
2、value:按钮上显示的文字,显示按钮的名称。
当用户需要重置表单信息到初始时的状态时,比如用户输入“用户名”后,发现书写有误,可以使用重置按钮使输入框恢复到初始状态。只需要把type设置为"reset"就可以。
使用语法:<input type="reset" value="重置数据">
详细讲解:
1、type:只有当type值设置为reset时,按钮才有重置作用,点击按钮会将form表单内的所有信息还原到初始未输入的状态。
2、value:按钮上显示的文字,显示重置按钮的名称
使用练习:
我们创建一个表单,数据我们以post的形式提交到百度首页,表单里边有姓名和年龄的输入框,并且添加提交数据按钮以及重置数据按钮。具体代码如下图所示:
在网页中的显示效果就如下图所示:
我们在姓名和年龄输入框中输入内容,点击重置数据既可以清空里边的内容,还原到初始状态,点击提交数据按钮,那么数据将会提交到我们的指定链接处。
以上呢就是表单最常用的一些控件了,接下来我们对学到的表单知识进行一次综合的测试,我们来写一个完整的表单包含我们学到的所有知识。
我们在这里就写一个网站制作常用的留言表,表格名称就叫留言表,然后表中包含有姓名输入框、性别单选框(默认选中男)、爱好多选框(默认选中第一个)、所在地区下拉框、留言内容多行文本框,以及提交信息按钮和重置信息按钮。数据提交呢我们还是提交到百度,提交类型我们使用post。具体的代码如下图所示:
在网页中的显示效果就如下图所示:
好了,到了这里我们的第一个表单就算是做完了,到这有人就会问了,为什么别人的代码在浏览器上看起来都是那么的规整,我这么写完看着怎么这么丑,接下来的文章我们将为大家介绍css的知识了,学习了css你也可以将你的页面做的高达上起来。最后大家看完一定要自己动手写一写,只有自己写出的代码才能体会到其中的乐趣,多加练习才是王道。
每日金句:人生最大的喜悦是每个人都说你做不到,你却完成它了!喜欢我的文章的小伙伴记得关注一下哦,每天将为你更新最新知识。
*请认真填写需求信息,我们会在24小时内与您取得联系。