HTML表格与表单

表格

创建表格:<table><tr><td><th> 标签

<table>标签是表格的容器,用于定义表格的开始和结束

<tr>表示表格中的一行。表格中的每一行都需要一个<tr>标签

<td>用于定义表格的普通单元格

<th>用于定于表格的表头单元格

示例:学生信息表

<table>
   <tr>
	<th>姓名</th>
    <th>年龄</th>
    <th>入学时间</th>
    </tr>
    <tr>
        <td>张三</td>
        <td>17</td>
        <td>6月3日</td>
    </tr>
    <tr>
        <td>李四</td>
        <td>19</td>
        <td>7月1日</td>
    </tr>
    <tr>
        <td>王五</td>
        <td>18</td>
        <td>9月2日</td>
    </tr>
</table>

表格的结构性标签

<thead> 标签用于分组表格的头部内容,通常包含一组<tr>标签。这部分内容通常包含列标题。

<tbody> 标签用于分组表格的主体内容,通常包含表格中的实际数据行。

<tfoot> 标签用于分组表格的尾部内容,通常用于汇总数据或显示表格的脚注。这个部分一般放在表格底部。

示例:学生信息表

<table>
    <thead>
    <tr>
	<th>姓名</th>
    <th>年龄</th>
    <th>入学时间</th>
    </tr>
 </thead>
    <tbody>
    <tr>
        <td>张三</td>
        <td>17</td>
        <td>6月3日</td>
    </tr>
    <tr>
        <td>李四</td>
        <td>19</td>
        <td>7月1日</td>
    </tr>
    <tr>
        <td>王五</td>
        <td>18</td>
        <td>9月2日</td>
    </tr>
 </tbody>
</table>

表格的属性:bordercellpaddingcellspacing

border 属性:定义表格单元格的边框宽度。默认情况下,表格是没有边框的。

cellpadding 属性:设置单元格内容与单元格边框之间的空白间距。默认值是浏览器决定的,通常为2个像素。

cellspacing 属性:设置单元格之间的间距(即单元格外部的空间)。默认值也是由浏览器决定的,通常为2个像素。

合并单元格:colspanrowspan

colspanrowspan都是某个单元格的属性:

colspan 属性:定义一个单元格跨越多列。

rowspan 属性:定义一个单元格跨越多行。

表单基础

表单标签:<form><input><label><textarea><button><select><option>

HTML 表单是收集用户输入的基础工具。

<form>标签

<form> 标签是表单的容器,包含表单中的所有输入元素。它还定义了表单数据提交的目的地(URL)和方法(如GETPOST)。

示例:

<form action="#" method = "post">
    <!-- 表单内容-->
</form>

属性:

action:指定表单提交时数据发送到的URL。

action如果为空或未定义,表单将提交到当前页面的URL。

method:指定提交表单时使用的HTTP方法。常见有GETPOST

enctype:指定表单数据的编码方式。常见值包括application/x-www-form-urlencoded(默认)、multipart/form-data(用于文件上传)、text/plain(纯文本数据)。

<input>标签

<input> 标签用于创建各种类型的输入框,如文本框、复选框、单选按钮等。根据type属性的不同,<input>可以创建不同的表单控件。

属性:

type:指定输入框的类型,常见的有text(文本框)、password(密码框)、checkbox(复选框)、radio(单选按钮)、submit(提交按钮)、file(文件上传)、email(电子邮件输入框)、number(数字输入框,可以指定范围和步进值)、date(日期输入框)等。

name:指定输入框的名称,用于提交表单时标识数据。

value:定义输入框的初始值,或提交时发送的值。

placeholder:在输入框为空时显示的提示文本。

required:如果存在该属性,则表单提交时必须填写此字段。

readonly:该字段仅供读取,用户无法修改。

disabled:该字段被禁用,用户无法交互。

关于value属性:
  1. 设置默认值:为输入框或按钮提供默认值。
  2. 表单提交:当表单提交时,value属性的值会与name属性对应的字段一起发送到服务器。
示例
1. 文本框(type="text"
<input type="text" name="username" value="默认用户名">
  • 作用:文本框显示“默认用户名”作为初始值,用户可以修改。
2. 隐藏字段(type="hidden"
<input type="hidden" name="userId" value="12345">
  • 作用:提交时发送“12345”作为userId的值,用户看不到这个字段。
3. 复选框(type="checkbox"
<input type="checkbox" name="subscribe" value="newsletter"> 订阅
  • 作用:选中复选框时,subscribe的值为“newsletter”;不选中则不发送。
4. 单选按钮(type="radio"
<input type="radio" name="gender" value="male"><input type="radio" name="gender" value="female">
  • 作用:用户选择“男”时,gender的值为“male”;选择“女”时,值为“female”。
5. 按钮(type="submit"
<input type="submit" value="提交表单">
  • 作用:按钮显示“提交表单”文本

GET方法与POST方法

GET方法

特点

  • 数据会附加到URL中,以查询字符串的形式发送,例如/submit-form?username=JohnDoe
  • 适合于不修改服务器数据的请求,如搜索查询。
  • 数据在URL中公开,通常有长度限制。
POST方法

特点:

  • 数据在HTTP请求体中发送,而不是URL中。
  • 适合提交较大数据或涉及用户隐私的数据,如登录表单、上传文件等。
  • 数据不会在URL中显示,没有长度限制。
对比:

安全性GET方法在URL中公开数据,因此不适合发送敏感信息;POST方法相对更安全,因为数据不会暴露在URL中。

数据大小GET方法有数据长度限制,POST方法没有这种限制。

用途GET通常用于获取或查询数据,POST通常用于提交数据以修改服务器上的资源。

表单验证

HTML5中的表单验证属性:requiredpatternmaxlength

HTML5引入了一些表单验证属性,使得在客户端验证用户输入变得更加简单和直观

required属性

作用required属性用于指定表单字段是必填项。使用这个属性后,用户在提交表单时必须填写该字段,否则表单提交将被阻止。

适用范围<input><textarea>等表单元素。

pattern 属性

作用pattern属性允许使用正则表达式来定义用户输入的格式。

​ 表单字段的值必须匹配这个正则表达式,否则表单提交将被阻止。

适用范围:主要用于<input type="text"><input type="email"><input type="tel">等文本输入类型。

maxlength 属性

作用maxlength属性用于限制用户在文本输入框中可以输入的字符数量。超过指定字符数后,用户将无法继续输入。

适用范围:适用于<input type="text"><input type="password"><textarea>等需要限制输入长度的字段。

提交表单后的处理

在学习HTML表单验证时,提交表单后的处理通常涉及验证结果的反馈和进一步的操作。以下是提交表单后常见的处理方式,尤其是针对表单验证后的处理:

1. 客户端验证

当用户填写表单并点击提交按钮时,浏览器会首先进行客户端验证。如果表单验证成功,表单会提交到服务器;如果验证失败,表单提交会被阻止,用户会看到错误提示。

2. 服务器端验证

虽然客户端验证可以减少无效数据提交到服务器,但服务器端验证仍然是必不可少的。这是因为客户端验证可以被绕过,服务器端验证可以确保数据的完整性和安全性。

3. 使用JavaScript增强表单提交后的处理

在一些应用中,JavaScript被用来增强表单提交后的用户体验,例如通过AJAX异步提交表单,避免页面刷新,并动态显示验证结果或提交状态。

具体细节在JS部分会讲到。

4. 提交后的用户体验优化

常见的优化方式包括:

  • 显示加载动画:在表单提交后,显示加载动画或状态提示,以告知用户提交正在处理中。
  • 成功/失败消息:在提交成功或失败后,明确告知用户结果,并提供进一步的操作提示(如返回表单或继续浏览)。
  • 表单数据的持久性:在提交失败时,保留用户已输入的数据,避免重新填写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值