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>

效果图:

相关推荐
22x艾克斯6 分钟前
Web Notifications API-让网页也能像QQ一样实现消息通知
前端
想你的风吹到了瑞士14 分钟前
变量提升&函数提升
前端·javascript·vue.js
醉陌离16 分钟前
渗透测试学习笔记——shodan(3)
笔记·学习
生椰拿铁You26 分钟前
12 —— Webpack中向前端注入环境变量
前端
Huazzi.1 小时前
免费好用的静态网页托管平台全面对比介绍
前端·网络·github·web
流着口水看上帝1 小时前
JavaScript学习路线
学习
Ting丶丶1 小时前
安卓应用安装过程学习
android·学习·安全·web安全·网络安全
被猫枕的咸鱼1 小时前
项目学习:仿b站的视频网站项目03-注册功能
学习
吃土少女古拉拉1 小时前
前端和后端
前端·学习笔记
@小博的博客1 小时前
C++初阶学习第十三弹——容器适配器和优先级队列的概念
开发语言·数据结构·c++·学习