提示

本文主要使用 HTML 表单的使用,表单在网页开发的过程中使用频率非常高,是 HTML 中的重中之重。@ermo

# 表单

web2.0 时代,用户需要通过表单和互联网平台做各式各样的交互,比如提交订单、登录、发浏览言等等。

# form

像表格标签 table 一样,form 标签也代表一个表单的开始与结束。所有与表单相关的内容都应该在 form 标签内编写。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form action="">
        <input type="text" placeholder="请输入你的名字">
    </form>
</body>
</html>

上例就是一个最简单的 form 表单。

form 表单有几种常用的属性:

  • name,表单名称
  • method,提交方式,主要有 post 和 get
  • action,提交地址
  • target,打开方式
  • enctype,编码方式

# input

(1)单行文本框

input 标签代表单行文本输入框,输入框有3中属性:

  • value,文本框的默认值
  • size,文本框的长度
  • maxlength,文本框限制最大输入长度

placeholder 表示占位符,用于提示用户输入的文字。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
        姓名:<input type="text" placeholder="请输入您的姓名">
    </form>
</body>
</html>

(2)密码文本框

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
        账号:<input type="text"><br>
        密码:<input type="password">
    </form>
</body>
</html>

(3)单选框

checked 属性代表默认选中。

name 属性代表同一组单选框,要想控制一组单选框只能选择一个,name 属性必须相同。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
        语言
        <input type="radio" name="language" value="java" checked> Java
        <input type="radio" name="language" value="javascript"> JavaScript
        <input type="radio" name="language" value="python"> Python
    </form>
</body>
</html>

单选框搭配使用 label 标签,这样点击文字也可以选中单选按钮。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
        语言
        <input type="radio" id="java" name="language" value="java" checked><label for="java">Java</label>
        <input type="radio" id="javascript" name="language" value="javascript"><label for="javascript">JavaScript</label>
        <input type="radio" id="python" name="language" value="python"><label for="python">Python</label>
    </form>
</body>
</html>

(4)复选框

checked 代表默认选中。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
        爱好:
        <input type="checkbox" name="hobby" value="book" checked > 读书
        <input type="checkbox" name="hobby" value="swimming" checked > 游泳
        <input type="checkbox" name="hobby" value="basketball"> 篮球
    </form>
</body>
</html>

(5)按钮

buttonsubmit 的区别在于,后者用于将表单数据提交到服务器端。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
        账号:<input type="text"> <br>
        密码:<input type="password"> <br>
        <input type="button" value="提交">
        <input type="submit" value="提交">
        
    </form>
</body>
</html>

(6)重置

重置按钮可以将表单数据清空。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form action="/login" method="post">
        账号:<input type="text"> <br>
        密码:<input type="password"> <br>
        <input type="button" value="提交">
        <input type="reset" value="重置">
    </form>
</body>
</html>

(7)文件上传

使用 multipile 属性可以上传多个文件。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
        <input type="file" multiple>
    </form>
</body>
</html>

(8)多行文本框

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
        留言板:
        <textarea cols="30" rows="10" value="profile">请输入您的留言</textarea>
    </form>
</body>
</html>

(9)下拉列表

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
       <select>
           <option value="Java">Java</option>
           <option value="JavaScript">JavaScript</option>
           <option value="Python">Python</option>
       </select>
    </form>
</body>
</html>

multiple 代表可以选择多个选项,size 可以设置下拉列表显示个数,其余数据通过下拉滚动条展示。

selected 表示默认选中的元素,选中的元素会高亮显示。

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <form>
       <select multiple size="2">
           <option value="Java" selected>Java</option>
           <option value="JavaScript">JavaScript</option>
           <option value="Python">Python</option>
           <option value="Vue">Vue</option>
           <option value="C">C</option>
           <option value="Rust">Rust</option>
       </select>
    </form>
</body>
</html>