HTML 教程

纯干货教学,从零开始学习 HTML

HTML 表单

什么是 HTML 表单?

HTML 表单是通过 <form> 标签定义的,用于在网页中收集用户输入的数据。

HTML 表单的基本结构

<form action="submit.php" method="post"> 
    
    
    
    
    <!-- 表单控件 --> 
    <input type="submit" value="提交"> 
    
    
</form> 


HTML 表单的属性

  • action - 指定表单数据提交的目标 URL
  • method - 指定表单数据提交的方法(get 或 post)
  • target - 指定表单提交后在何处显示响应
  • enctype - 指定表单数据的编码方式

HTML 表单控件

HTML 提供了多种表单控件,用于收集不同类型的用户输入:

文本输入框

<label for="name">姓名:</label> 


<input type="text" id="name" name="name" placeholder="请输入姓名"> 




密码输入框

<label for="password">密码:</label> 


<input type="password" id="password" name="password" placeholder="请输入密码"> 




单选按钮

<label>性别:</label> 

<input type="radio" id="male" name="gender" value="male"> 





<label for="male">男</label> 


<input type="radio" id="female" name="gender" value="female"> 





<label for="female">女</label> 

复选框

<label>爱好:</label> 

<input type="checkbox" id="hobby1" name="hobby" value="reading"> 





<label for="hobby1">阅读</label> 


<input type="checkbox" id="hobby2" name="hobby" value="sports"> 
<label for="hobby2">运动</label>

<input type="checkbox" id="hobby3" name="hobby" value="music"> 
<label for="hobby3">音乐</label>

下拉列表

<label for="city">城市:</label> 


<select id="city" name="city"> 



    <option value="beijing">北京</option> 
    
    

    <option value="shanghai">上海</option> 
    <option value="guangzhou">广州</option> 
    <option value="shenzhen">深圳</option> 

</select> 

文本域

<label for="message">留言:</label> 


<textarea id="message" name="message" rows="4" cols="50" placeholder="请输入留言内容"></textarea> 






提交按钮

<input type="submit" value="提交"> 



<button type="submit">提交</button> 


重置按钮

<input type="reset" value="重置"> 



<button type="reset">重置</button> 


按钮

<button type="button" onclick="alert('Hello!')">点击我</button> 



HTML5 表单控件

HTML5 引入了一些新的表单控件类型:

<!-- 电子邮件输入框 -->
<label for="email">电子邮件:</label> 
<input type="email" id="email" name="email" placeholder="请输入电子邮件"> 





<!-- URL 输入框 -->
<label for="url">网址:</label> 
<input type="url" id="url" name="url" placeholder="请输入网址"> 


<!-- 数字输入框 -->
<label for="number">年龄:</label> 
<input type="number" id="number" name="age" min="1" max="100" value="18"> 





<!-- 日期输入框 -->
<label for="date">日期:</label> 
<input type="date" id="date" name="date"> 


<!-- 滑块控件 -->
<label for="range">范围:</label> 
<input type="range" id="range" name="range" min="0" max="100" value="50"> 





<!-- 搜索输入框 -->
<label for="search">搜索:</label> 
<input type="search" id="search" name="search" placeholder="请输入搜索内容"> 

HTML 表单验证

HTML5 提供了内置的表单验证功能,可以在客户端验证用户输入的数据:

<!-- 必填字段 -->
<input type="text" name="name" required> 


<!-- 最小长度 -->
<input type="text" name="username" minlength="3"> 


<!-- 最大长度 -->
<input type="text" name="username" maxlength="20"> 


<!-- 正则表达式验证 -->
<input type="text" name="phone" pattern="^1[3-9]\d{9}$" placeholder="请输入手机号码"> 



<!-- 最小数值 -->
<input type="number" name="age" min="18"> 


<!-- 最大数值 -->
<input type="number" name="score" max="100"> 

完整的 HTML 表单示例

<form action="submit.php" method="post"> 



    <div> 
        <label for="name">姓名:</label> 
        <input type="text" id="name" name="name" placeholder="请输入姓名" required> 
    </div>
    <br> 

    <div>
        <label for="email">电子邮件:</label> 
        <input type="email" id="email" name="email" placeholder="请输入电子邮件" required> 
    </div>
    <br>

    <div>
        <label>性别:</label> 
        <input type="radio" id="male" name="gender" value="male" checked> 
        
        <label for="male">男</label>
        <input type="radio" id="female" name="gender" value="female">
        <label for="female">女</label>
    </div>
    <br>

    <div>
        <label for="city">城市:</label> 
        <select id="city" name="city"> 
            <option value="beijing">北京</option>
            <option value="shanghai">上海</option>
            <option value="guangzhou">广州</option>
            <option value="shenzhen">深圳</option>
        </select>
    </div>
    <br>

    <div>
        <label>爱好:</label> 
        <input type="checkbox" id="hobby1" name="hobby" value="reading">
        <label for="hobby1">阅读</label>
        <input type="checkbox" id="hobby2" name="hobby" value="sports">
        <label for="hobby2">运动</label>
        <input type="checkbox" id="hobby3" name="hobby" value="music">
        <label for="hobby3">音乐</label>
    </div>
    <br>

    <div>
        <label for="message">留言:</label> 
        <br>
        <textarea id="message" name="message" rows="4" cols="50" placeholder="请输入留言内容"></textarea> 
    </div>
    <br>

    <div>
        <input type="submit" value="提交"> 
        <input type="reset" value="重置"> 
    </div>

</form>