HTML之表单学习记录

如果一个页面仅仅供用户浏览,那就是静态页面。如果这个页面还能实现与服务器进行数据交互(像注册登录、话费充值、评论交流)​,那就是动态页面。表单是我们接触动态页面的第一步。其中表单最重要的作用就是:在浏览器端收集用户的信息,然后将数据提交给服务器来处理。

在HTML中,表单标签有五种:form、input、textarea、select和option。

表单效果:

从外观上来划分,表单可以分为以下八种。

  • 单行文本
  • 框密码文本框
  • 单选框
  • 复选框
  • 按钮
  • 文件上传
  • 多行文本框
  • 下拉列表

创建一个表单,就像创建一个表格,我们也必须要把所有表单标签放在form标签内部。

form标签常用属性如表:

在form标签中,method属性用于指定表单数据使用哪一种http提交方法。method属性取值有两个,一个是get,另外一个是post。get在安全性较差,而post安全性较好。所以在实际开发中,我们都是使用post。

在form标签中,action属性用于指定表单数据提交到哪一个地址进行处理。

在form标签中,target属性与a标签的target属性是一样的,都是用来指定窗口的打开方式。一般情况下,我们只会用到_blank这一个属性值。

在HTML中,大多数表单都是使用input标签来实现的。

<input type="表单类型" />

练习题:

代码:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>表单练习题</title>
</head>
<body>
    <form method="post" >
        昵称:<input type="text" name="nickname" size="20"/><br/>
        密码:<input type="passwword" name="password" size="20"/><br/>
        邮箱:<input type="email" name="email" size="20"/>&nbsp;&nbsp;
        <select>
            <option value="qq.com">qq.com</option>
            <option value="163.com">163.com</option>
            <option value="gmail.com">gmail.com</option>
            <option value="yahoo.com">yahoo.com</option>
        </select><br/>
        性别:<input type="radio" name="sex" value="男" checked/>男
        <input type="radio" name="sex" value="女"/>女<br/>
        爱好:<input type ="checkbox" name="旅游"/>旅游
        <input type="checkbox" name="摄影"/>摄影
        <input type="checkbox" name="运动"/>运动<br/>
        个人简介:<br/>
        <textarea name="intro" rows="5" cols="50"></textarea><br/>
        上传个人照片:<br/>
        <input type="file" name="photo"><br/>
        <hr/>
        <input type ="submit" value="立即注册" /><br/>
    </form>
</body>
</html>

效果图:

练习过程的代码:

html 复制代码
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta charset="UTF-8">
       
    </head>
    <body>
        <!-- input、textarea、select、option都是表单标签,我们必须要放在form标签内部 -->
        <form name="MyForm" method="post">
            <input type="text" value="这是一个单行文本框"/><br/>
            <textarea>这是一个多行文本框</textarea><br/>
            <!-- 下拉列表 -->
            <select>
                <option>HTML</option>
                <option>CSS</option>
                <option>JavaScript</option>
            </select><br/>
            <!-- 单行文本框 -->
            <!-- value属性:显示默认值,size属性:设置输入框的宽度,maxlength属性:设置输入框的最大长度 -->
            姓名:<input type="text" value ="张三" size="10" maxlength="10"/><br/>
            <!-- 密码框 -->
            密码:<input type="password" value="123456" size="5" maxlength="10"/><br/>
            <!-- 单选框 -->
            <!-- name属性表示单选按钮所在的组名,互斥用;而value表示单选按钮的取值(不显示),这两个属性必须要设置。 -->
             性别:<input type="radio" name="gender" value="男"/>男
             <input type="radio" name ="gender" value="女"/>女<br/>
             <!-- 默认checked属性表示默认选中 -->
             性别:<input type="radio" name="gender" value="男" checked/>男
             <input type="radio" name ="gender" value="女"/>女<br/>
             <!-- 没有加上name属性,预览效果好像没有变化。但是当我们选取的时候,会发现居然可以同时选中两个选项 -->
             <!-- 因此我们必须要加上name属性。有小伙伴就会问了:在同一组单选框中,name属性取值一样 -->
              年龄:<input type="radio" name="age" value="18"/>
              <input type="radio" name="age" value="19"/>
              <input type="radio" name="age" value="20"/><br/>

              年龄:18<input type="radio" name="age" value="18"/>
              19<input type="radio" name="age" value="19"/>
              20<input type="radio" name="age" value="20"/><br/>
              <!-- 对于单选框,加不加value好像没啥区别啊?为啥还加上呢?value属性取值一般跟后面的文本相同,
               之所以加上value属性,是为了方便JavaScript或者服务器操作数据。所有表单元素的value属性的作用都是一样的 -->
               
              <!-- 为了得到更好的语义化,表单元素与后面的文本一般都需要借助label标签关联起来。 -->
              年龄:<label>
                18<input type="radio" name="age" value="18"/>
               </label>
               <label>
                19<input type="radio" name="age" value="19"/>
               </label>
               <label>
                20<input type="radio" name="age" value="20"/>
               </label><br/>
               <!-- 复选框 -->
                <input type="checkbox" name="组名" value="取值"/>复选框1<br/>

                你喜欢的水果:<br/>
                <input type="checkbox" name="fruits" value="苹果" checked/>苹果
                <input type="checkbox" name="fruits" value="香蕉" checked/>香蕉
                <input type="checkbox" name="fruits" value="橘子"/>橘子<br/>
                <!-- 按钮 -->
                <!-- 在HTML中,普通按钮一般情况下都是配合JavaScript来进行各种操作的。 -->
                 <input type="button" value="确定" onclick="alert('确定按钮被点击了!')"/>
                 <!-- 提交按钮 -->
                  <input type="submit" value="提交"/>
                  <!-- 重置按钮 -->
                  <!-- 在HTML中,重置按钮一般用来清除用户在表单中输入的内容。重置按钮也可以看成是具有特殊功能的普通按钮。 -->
                  <!-- 重置按钮只能清空它所在form标签内表单中的内容,对于当前所在form标签之外的表单清除无效。 -->
                  <input type="reset" value="重置"/>
                  <!-- 文件上传 -->
                   <br/>
                   文件上传:<input type="file" /><br/>
                   <!-- 多行文本框 -->
                    <textarea rows="5" cols="30" value="多行文本框">默认显示文本</textarea><br/>
                    个人简介:<br/>
                    <textarea rows="5" cols="30" name="intro">请输入个人简介</textarea><br/>
                    <!-- 隐藏域 -->
                     <!-- 隐藏域是指在表单中,用户不可见,但又需要提交给服务器的数据。 -->
                    <input type="hidden" name="hidden" value="隐藏数据"><br/>
                </form>
                    <!-- 下拉列表:显示多项 -->
                <form method="post">
                        <select multiple>
                            <option value="苹果">苹果</option>
                            <option value="香蕉">香蕉</option>
                            <option value="橘子">橘子</option>
                            <option value="葡萄">葡萄</option>
                            <option value="柚子">柚子</option>
                            
                        </select>
                        <!-- 将size取值为1、2、3时,会发现在Chrome浏览器中无效。这是因为Chrome浏览器最低是4个选项,我们只能选取4及以上数字。 -->
                         <select multiple size="2">
                            <option value="苹果" selected>苹果</option>
                            <option value="香蕉">香蕉</option>
                            <option value="橘子">橘子</option>
                            <option value="葡萄">葡萄</option>
                            <option value="柚子">柚子</option>
                         </select>
                         <!-- selected属性表示列表项是否被选中 -->
                </form>
       
    </body>
</html>

效果图:

相关推荐
红中马喽3 分钟前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
Black蜡笔小新1 小时前
网页直播/点播播放器EasyPlayer.js播放器OffscreenCanvas这个特性是否需要特殊的环境和硬件支持
前端·javascript·html
尘浮生1 小时前
Java项目实战II基于微信小程序的移动学习平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·学习·微信小程序·小程序
秦jh_2 小时前
【Linux】多线程(概念,控制)
linux·运维·前端
蜗牛快跑2132 小时前
面向对象编程 vs 函数式编程
前端·函数式编程·面向对象编程
Dread_lxy2 小时前
vue 依赖注入(Provide、Inject )和混入(mixins)
前端·javascript·vue.js
Young_202202022 小时前
学习笔记——KMP
笔记·学习
行然梦实2 小时前
学习日记_20241110_聚类方法(K-Means)
学习·kmeans·聚类
马船长3 小时前
制作图片木马
学习
秀儿还能再秀3 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习