HTML-表单

表单


概念:一个包含交互的区域,用于收集用户提供的数据。

1.基本结构

示例代码:

html 复制代码
<form action="https://www.baidu.com/s" target="_blank" method="get">
	<input type="text" name="wd">
	<button>去百度搜索</button>
</form>

2.常用表单控件

1.文本输入框

html 复制代码
<input id="zhanghu" type="text" name="account" maxlength="20">

常用属性如下:

name 属性:数据的名称。
value 属性:输入框的默认输入值。

maxlength 属性:输入框最大可输入长度。

2.密码输入框

html 复制代码
<input id="mima" type="password" name="pwd" maxlength="20">

常用属性如下:

name 属性:数据的名称。
value 属性:输入框的默认输入值 (一般不用,无意义)。

maxlength 属性:输入框最大可输入长度。

3.单选框

html 复制代码
<input type="radio" name="sex" value="female">女
<input type="radio" name="sex" value="male" checked>男

常用属性如下:

name 属性:数据的名称,注意:想要单选效果,多个 radio 的 name 属性值要保持一致。
value 属性:提交的数据值。

checked 属性:让该单选按钮默认选中。

4.复选框

html 复制代码
<input type="checkbox" name="hobby" value="smoke">抽烟
<input type="checkbox" name="hobby" value="drink">喝酒
<input type="checkbox" name="hobby" value="perm">烫头

常用属性如下::

name 属性:数据的名称。
value 属性:提交的数据值。

checked 属性:让该复选框默认选中。

5.下拉框

html 复制代码
<select name="from">
<option value="黑">黑龙江</option>
<option value="辽">辽宁</option>
<option value="吉">吉林</option>
<option value="粤" selected>广东</option>
</select>

常用属性及注意事项:

  1. name 属性:指定数据的名称。
  2. option 标签设置 value 属性, 如果没有 value 属性,提交的数据是 option 中间的文字;如果设置了 value 属性,提交的数据就是 value 的值(建议设置 value 属性)
  3. option 标签设置了 selected 属性,表示默认选中。

6.隐藏域

html 复制代码
<input type="hidden" name="tag" value="100">

用户不可见的一个输入区域,作用是: 提交表单的时候,携带一些固定的数据。

name 属性:指定数据的名称。

value 属性:指定的是真正提交的数据。

7.提交按钮

html 复制代码
<input type="submit" value="点我提交表单">
<button>点我提交表单</button>

注意:

  1. button 标签 type 属性的默认值是 submit 。
  2. button 不要指定 name 属性
  3. input 标签编写的按钮,使用 value 属性指定按钮文字。

8.重置按钮

html 复制代码
<input type="reset" value="点我重置">
<button type="reset">点我重置</button>

注意点:

  1. button 不要指定 name 属性
  2. input 标签编写的按钮,使用 value 属性指定按钮文字。

9.普通按钮

html 复制代码
<input type="button" value="普通按钮">
<button type="button">普通按钮</button>

注意点:普通按钮的 type 值为 button ,若不写 type 值是 submit 会引起表单的提交。因为button的默认值为submit

10.文本域

html 复制代码
<textarea name="msg" rows="22" cols="3">我是文本域</textarea>

常用属性如下:

  1. rows 属性:指定默认显示的行数,会影响文本域的高度。
  2. cols 属性:指定默认显示的列数,会影响文本域的宽度。
  3. 不能编写 type 属性,其他属性,与普通文本输入框一致。

3.禁用表单控件

给表单控件的标签设置 disabled 既可禁用表单控件。

input 、 textarea 、 button 、 select 、 option 都可以设置 disabled 属性

4.label标签

label 标签可与表单控件相关联,关联之后点击文字,与之对应的表单控件就会获取焦点。

两种与 label 关联方式如下:

  1. 让 label 标签的 for 属性的值等于表单控件的 id 。
  2. 把表单控件套在 label 标签的里面。
html 复制代码
<!-- 第一种写法 -->
<label for="mima">密码:</label>
<input id="mima" type="password" name="pwd" maxlength="20"><br>
<!-- 第二种写法 -->
<label>
  <input type="radio" name="sex" value="male" checked>男
</label> 

5.fieldset与legend的使用

fieldset 可以为表单控件分组、 legend 标签是分组的标题。

html 复制代码
<fieldset>
	<legend>主要信息</legend>
	<label for="zhanghu">账户:</label>
	<input id="zhanghu" type="text" name="account" maxlength="10"<br>
	<label>
		密码:
		<input id="mima" type="password" name="pwd" maxlength="6">
	</label>	<br>
	性别:
	<input type="radio" name="gender" value="male" id="nan">
	<label for="nan">男</label>
	<label>
		<input type="radio" name="gender" value="female" id="nv">女
	</label>
</fieldset>

6.表单总结


相关推荐
shawxlee2 小时前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
用户059540174462 小时前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
触底反弹2 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen2 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
颜酱3 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
郝亚军4 小时前
如何安装webstorm、Node.js和vue CLI
前端·javascript·vue.js
IT_陈寒4 小时前
React的useEffect依赖项把我坑惨了
前端·人工智能·后端
东方小月5 小时前
从零开发一个Coding Agent:monorepo项目搭建
前端·后端·node.js
葬送的代码人生5 小时前
别再让 AI 瞎写代码了!Vibe Coding 三步法教你写出靠谱代码
前端·设计模式·架构
Shirley~~5 小时前
Code-Review-Graph:面向 AI 辅助代码审查的结构化上下文引擎
前端·ai编程