当前位置: 首页 > article >正文

HTML之form表单学习

HTML之form表单学习

<!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>
    <!--
        form 
          action 定义数据的提交地址
            1.url
            2.相对路径
            3.绝对路径
          method 定义数据的提交方式
            GET
                1.参数以键值对的方式放在url后提交  url?key=value&key=value&....
                2.数据直接暴露在地址栏中,相对不安全
                3.地址栏长度有限制,所以提交的数据量不大(与post相比)
                4.地址栏中只能是字符2-4k
            POST
                1.参数默认不放到url后面
                2.数据不会直接暴露在地址栏中,相对安全(F12控制台 网络 负载可见)
                3.数据是单独打包通过请求体发送,提交的数据量比较大
                4.请求体中可以是字符、字节(1010..)数据,即可以提交文件

            相较于POST,GET的效率比较高,但是提高的时间人的感受是感受不到的
            后续还有PUT、DELETE请求方式

          表单项标签 
          一定要定义name属性,该属性用于明确提交时的参数名,即key
          还需要定义value属性,该属性用于明确提交时的实参,即value
            input
                type 输入信息的表单项类型
                    text 普通文本框
                    password 密码框
                    submit 提交按钮
                    reset 重置按钮
                    radio 单选框 多个单选框使用相同的name属性值,就会有互斥效果
                    checkbox 复选框 多个选项选多个
                    hidden 隐藏域,不显示在页面上,提交时会携带;用于提交一些特定数据,但是考虑安全问题或是用户操作问题,不希望数据发生改变
            textarea 文本域 多行文本框

            select 下拉框
                option:选项
            
            file 上传文件
    -->
    post
    <form action="Wecome.html" method="post"><!--默认get-->
        <!--添加表单项标签 用户输入信息的标签-->
        用户名:
        <input type="text" name="username" />
        <br>
        密码:
        <input type="password" name="password"/>
        <br>
        性别:
        <input type="radio" name="gender" value="1" checked = "checked"><!--属性名等于属性值时,可以只写属性名 checked -->
        <input type="radio" name="gender" value="0"><br>
        爱好:
        <input type="checkbox" name="hobby" value="1">1
        <input type="checkbox"name="hobby" value="2">2
        <input type="checkbox"name="hobby" value="3">3
        <input type="checkbox"name="hobby" value="4">4
        <br>
        <!--用于提交一些特定数据,但是考虑安全问题或是用户操作问题,不希望数据发生改变
               readonly 只读 提交时 携带
               disabled 不可用 提交时 不携带
        -->
        <input type="hidden" name="hidden" value="hidden"/>
        <input type="text" name="hidden1" value="hidden1" readonly/> <!--readonly 表单提交的时候会携带-->
        <input type="text" name="hidden2" value="hidden2" disabled/> <!--disabled 表单提交的时候不会携带-->
        <br>
        个人简介:
        <textarea name="intro" style="width: 300px;height: 100px;">
        </textarea>
        <br>
        籍贯:
        <select>
            <option value="1">北京</option><!--类似于掩码形式,实际提交value值,若没有value则显示值即为value值-->
            <option value="2">天津</option>
            <option value="3">河北</option>
            <option value="0" selected>选择</option>
        </select>
        <br>
        <input type="submit" value="登录"/>
        <input type="reset" value="清空"/>
        选择头像:
        <input type="file" name="file"/>
    </form>

    get:实例将上述的内容复制下来然后method改为get即可测试

</body>
</html>

http://www.kler.cn/a/536320.html

相关文章:

  • 结构化表达(四):逻辑排序
  • 高端入门:Ollama 本地高效部署DeepSeek模型深度搜索解决方案
  • 解决 npm : 无法加载文件 D:\nodeJS\node_global\npm.ps1,因为在此系统上禁止运行脚本。
  • 排序算法与查找算法
  • 【高级篇 / IPv6】(7.2) ❀ 04. 在60E上配置ADSL拨号宽带上网(IPv4) ❀ FortiGate 防火墙
  • 博客园-awescnb插件-geek皮肤优化-Markdown样式支持
  • go结构体详解
  • 03-移除元素
  • leetcode:1897. 重新分配字符使所有字符串都相等(python3解法)
  • 开发板适配之UART
  • mybatisPlus介绍
  • Java 21 虚拟线程详解
  • 【C#】一维、二维、三维数组的使用
  • 测试中的第一性原理:回归本质的质量思维革命
  • 数据结构之顺序表和链表
  • s1:简单测试-时间规模化
  • Kotlin 使用虚拟线程并在低版本中自动切换到协程
  • zabbix v7.2.3容器运行Proxy代理服务器启用IPV6访问
  • 代码随想录算法【Day38】
  • SQL Server查询计划操作符(7.3)——查询计划相关操作符(6)
  • 第4节课:控制结构 - 条件语句、循环语句
  • 本地私有化部署 DeepSeek Dify ,告别“服务器繁忙,请稍后再试”
  • 小米官博宣布:首款AI眼镜即将发布
  • Java实现网络安全编程数字信封 网络安全 java
  • 深入解析:如何利用 Python 爬虫获取商品 SKU 详细信息
  • 深入理解 YUV Planar 和色度二次采样 —— 视频处理的核心技术