小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-04-11 / 8 阅读
0
0

Web前端 表单组件input,textare,select等

HTML5 中的表单元素对于构建交互式网页至关重要,允许用户输入数据并提交给服务器。以下是关于 input 标签、其常用属性,以及 selecttextareabutton 标签的详细说明:

input 标签

<input> 标签用于创建各种类型的输入控件,包括文本字段、密码框、单选按钮、复选框、文件选择器、提交按钮等。其主要属性如下:

基础属性:

  • type:定义输入控件的类型。常见值包括:

    • text:单行文本输入框。
    • password:密码输入框,字符会被遮掩。
    • radio:单选按钮,多个同名 radio 形成一组互斥选项。用name命名
    • checkbox:复选框,可独立选择或取消。
    • file:文件选择器,允许用户上传文件。
    • submit:提交按钮,用于提交表单数据。
    • reset:重置按钮,用于清除表单内所有输入的值。
    • button:普通按钮,通常结合 JavaScript 实现自定义功能。
    • date:type="date" 创建一个日期选择器控件,用户可以通过日历视图选择一个日期。支持该类型的浏览器会提供一个直观的交互界面,而非简单的文本输入框。提交时,表单数据将以 "YYYY-MM-DD" 格式的字符串形式发送到服务器。常用属性包括:
      • value:设置日期输入框的初始值,应遵循 "YYYY-MM-DD" 格式。
      • name:为日期输入框指定名称。
      • min / max:限制可选日期范围,分别设置允许的最小和最大日期,格式为 "YYYY-MM-DD"。
      • step:定义日期间隔,默认为 "1"(天)。例如,设置为 "7" 时,用户只能选择以一周为步长的日期。`
    <input type="date" name="birthday" min="1900-01-01" max="2023-12-31" value="2000-06-8">
    

    type="search"

    type="search" 创建一个搜索框样式(通常带有清除按钮)的文本输入控件,用于收集用户搜索查询。虽然功能上与 type="text" 类似,但视觉呈现和某些浏览器提供的额外功能(如清除按钮、自动完成功能增强)有所不同。常用属性包括:

    • name:为搜索框指定名称。
    • value:设置搜索框的初始值。
    • placeholder:提供占位提示文本。
    • requiredreadonlydisabled:与 input 类似,控制搜索框的必填性、只读状态和禁用状态。
    <input type="search" name="query" placeholder="搜索关键词...">
    

    type="image"

    type="image" 创建一个图像作为提交按钮。点击图像的不同位置时,会将图像坐标作为额外数据发送到服务器。通常用于自定义提交按钮样式。常用属性包括:

    • src:指定图像源 URL。
    • alt:为图像提供替代文本,当图像加载失败或用户使用辅助技术时显示。
    • name:为图像提交按钮指定名称。
    • value:设置图像提交按钮的提交值,与 name 一起发送到服务器。
    <input type="image" src="submit-button.png" alt="提交表单" name="submit" value="submit">
    

    当用户点击图像提交按钮时,除了常规表单数据外,还会发送两个额外的键值对:name.xname.y,分别代表点击点相对于图像左上角的横纵坐标。

    请注意,尽管您在问题中提到的是 img,但实际上应该使用 type="image"<img> 是一个单独的 HTML 标签,用于在网页中插入静态图像,而这里讨论的是将其作为提交按钮的 input 元素。

  • name:为输入控件指定名称,该名称在表单提交时作为键,其对应的值(用户输入或控件状态)会被发送到服务器。

  • value:为控件设置初始值或预设值。对于 radiocheckboxbutton 类型,此属性表示选中状态的值;对于其他类型,如 textpassword,则是文本框的初始内容。

  • id:为控件赋予唯一的标识符,便于通过 CSS 或 JavaScript 进行样式或行为操控。

其他常用属性:

  • placeholder:提供占位提示文本,当输入框为空时显示,用户开始输入时消失。
  • required:标记输入项为必填,提交表单时会进行验证,若为空则阻止提交。
  • readonly:使输入框只读,用户无法修改其内容。
  • disabled:禁用输入控件,使其不可交互且在表单提交时不包含其数据。
  • min / max:应用于数值或日期/时间类型的输入控件,设定允许的最小/最大值。
  • step:适用于数值输入,指定合法值之间的增量。
  • pattern:定义正则表达式,用于验证输入内容是否符合指定格式。
  • autocomplete:控制浏览器是否应自动填充表单字段,可能的值有 "on"(允许)、"off"(禁止)。

select 标签

<select> 标签用于创建下拉列表,用户从中选择一个或多个选项。常用属性和子元素包括:

  • name:与 input 类似,为 select 控件指定名称。
  • multiple:允许用户选择多个选项,此时下拉列表变为多选框样式。
  • size:指定下拉列表可见选项的数量,若大于 1,则变为滚动列表。

子元素 <option> 定义可供选择的项目:

<select name="example">
  <option value="option1">Option 1</option>
  <option value="option2" selected>Option 2 (默认选中)</option>
  <option value="option3" disabled>Option 3 (禁用)</option>
</select>
  • value:每个选项的值,提交时作为表单数据的一部分。
  • selected:标记选项为默认选中状态。
  • disabled:禁用某个选项,使其不可选。

textarea 标签

<textarea> 标签用于创建多行文本输入区域。常用属性如下:

  • name:与 input 类似,为 textarea 指定名称。
  • rows / cols:分别设置文本区域的初始行数和列数(宽度)。
  • placeholder:提供占位提示文本。
  • requiredreadonlydisabled:与 input 相同的属性,控制文本区域的必填性、只读状态和禁用状态。
<textarea name="comments" rows="4" cols="50" placeholder="请输入您的评论...">
</textarea>

button 标签

<button> 标签创建一个可点击的按钮,可以触发表单提交或其他自定义操作。属性和用法如下:

  • type:定义按钮类型。常见值有:

    • submit:提交表单。
    • reset:重置表单。
    • button:普通按钮,需通过 JavaScript 添加事件处理程序实现功能。
  • name:为按钮指定名称,提交时作为表单数据的一部分(仅适用于 type="submit")。

  • value:按钮的提交值,与 name 一起发送到服务器(同样适用于 type="submit")。

  • id:为按钮赋予唯一标识符,便于通过 CSS 或 JavaScript 进行样式或行为操控。

  • onclick / onmousedown / onmouseup 等事件属性:添加 JavaScript 事件处理程序,响应用户的交互行为。

<button type="submit" name="action" value="save">保存</button>
<button type="reset">重置</button>
<button type="button" onclick="alert('Hello!')">点击我</button>

总结起来,HTML5 中的 inputselecttextareabutton 标签提供了丰富的表单元素,通过合理配置它们的属性,可以创建适应各种场景的用户输入界面,并确保数据有效、规范地提交到服务器。同时,这些元素还可以与 CSS 和 JavaScript 配合,实现更复杂、交互性强的表单功能。


评论