1 表单是什么

表单用于收集用户输入的数据并提交给服务器,由 form 标签包裹所有表单元素。

1.1 form 标签核心属性

  • action:数据提交的目标地址,填服务器接口或网址。
  • method:提交方式,常用 get(数据拼接在网址上)和 post(数据在请求体中,更安全)。

2 input 标签

input 是单标签,通过 type 属性切换不同的输入类型,是表单中最核心的标签。

2.1 type 类型总览

type 值说明
text普通文本输入框
password密码框,内容显示为圆点
radio单选框
checkbox多选框
file文件上传域
hidden隐藏域,用户看不见但会随表单提交
submit提交按钮
button普通按钮,无默认行为
reset重置按钮,清空表单数据
image图片按钮,功能同 submit

2.2 常用属性

属性说明
name提交时的字段名,服务器通过它识别数据,必填
value输入框的默认值 / 提交给服务器的实际值
placeholder输入框的提示文字,输入后消失
size文本框显示的宽度(字符数)
maxlength最多能输入的字符数
disabled禁用,不能修改也不会提交
readonly只读,不能修改但会提交
checked单选框 / 多选框默认选中,可简写不写值
multiple文件域支持多选文件

3 单选框与多选框

3.1 radio — 单选框

同一组单选框的 name 必须完全一致,浏览器靠 name 判断哪些选项互斥:

<input type="radio" name="gender" value="男"> 男
<input type="radio" name="gender" checked="checked" value="女"> 女

3.2 checkbox — 多选框

同一组多选框 name 也保持一致,checked 表示默认勾选:

<input type="checkbox" name="hobbies" value="唱"> 唱
<input type="checkbox" name="hobbies" checked value="跳"> 跳

4 select 下拉列表

select 是下拉选择框,option 是每一个选项,selected 属性表示默认选中,multiple 属性允许多选:

<select name="home">
    <option value="北京">北京</option>
    <option value="杭州" selected>杭州</option>
</select>

5 textarea 多行文本框

用于输入大段文字,rows 控制显示行数,cols 控制显示列数(宽度):

<textarea name="info" rows="20" cols="80">
    自我介绍
</textarea>

6 完整代码

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
 
<body>
    <h1>1. 表单初体验</h1>
    <form action="http://www.baidu.com" method="get">
        用户名称: <input type="text" size="2" maxlength="2" placeholder="请输入用户名称(提示文字)" name="username"> <br>
        用户名称: <input type="text" disabled value="disabled 不能修改,也不让提交" name="username2"> <br>
        用户名称: <input type="text" readonly value="readonly不让修改,能提交" name="username3"> <br>
        用户密码: <input type="password" name="password"> <br>
        用户性别: <input type="radio" name="gender" value="男"> 男
        <input type="radio" name="gender" checked="checked" value="女"> 女
        <br>
        兴趣爱好: <input type="checkbox" name="hobbies" value="唱"> 唱
        <input type="checkbox" name="hobbies" checked value="跳"> 跳
        <input type="checkbox" name="hobbies" value="rap"> rap
        <input type="checkbox" name="hobbies" checked value="篮球"> 篮球
        <br>
        家庭地址:
        <select name="home">
            <option value="北京">北京</option>
            <option value="上海">上海</option>
            <option value="广州">广州</option>
            <option value="深圳">深圳</option>
            <option value="杭州" selected>杭州</option>
            <option value="西安">西安</option>
            <option value="武汉">武汉</option>
        </select>
        <br>
        用户头像:
        <input type="file" name="head" multiple>
        <br>
        <input type="hidden" name="id" value="1024">
        <br>
        自我介绍:
            <textarea name="info" rows="20" cols="80">
                自我介绍
            </textarea>
        <br>
        <input type="submit" value="用户注册">
        <input type="button" value="我是一个普普的按钮罢了">
        <input type="reset" value="重置数据">
        <input type="image" src="./img1.jpg" width="50px" value="图片按钮">
    </form>
</body>
 
</html>