zoukankan      html  css  js  c++  java
  • 前端HTTP整体

    表格table

    • 表格是一个二维数据空间,一个表格由若干行组成,一个行又有若干单元格组成,单元格里可以包含文字、列表、图案、表单、数字符号、预置文本和其它的表格等内容。

    • 最主要的目的是显示表格类数据

    表格类数据

    • 最适合以行列来排布的数据

    表格的基本结构

    <table>
        <thead>	<!--表头(字段信息)-->
        	<tr>
                <!--th:加粗文本-->
                <th>序号</th>
                <th>姓名</th>
                <th>爱好</th>
            </tr>
        </thead>
        <tbody>	<!--表单(数据信息)-->
        	<tr> <!--行-->
                <!--td:正常文本-->
            	<td>1</td> <!--列-->
                <td>Yumi</td>
                <td>追番</td>
            </tr>
            <tr>
            	<td>2</td>
                <td>jason</td>
                <td>美女</td>
            </tr>
        </tbody>
    </table>
    
    <!--
    属性:
        border: 表格边框.
        cellpadding: 内边距
        cellspacing: 外边距.
         像素 百分比.(最好通过css来设置长宽)
        rowspan: 单元格竖跨多少行
        colspan: 单元格横跨多少列(即合并单元格)
    -->
    

      

    表单form

    表单的功能

    1. 用于向服务端发送数据,实现用户与web服务器的交互
    2. 表能能够包含input系列标签,例如文本字段、复选框、单选框、提交按钮等
    3. 表单还可以包含textareaselectfieldset和 label标签

    表单属性

    属性描述
    accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。
    action 规定向何处提交表单的地址(URL)(提交页面)。
    autocomplete 规定浏览器应该自动完成表单(默认:开启)。
    enctype 规定被提交数据的编码(默认:url-encoded)。
    method 规定在提交表单时所用的 HTTP 方法(默认:GET)。
    name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。
    novalidate 规定浏览器不验证表单。
    target 规定 action 属性中地址的目标(默认:_self)。

    表单元素

    input元素

    type属性值表现形式对应代码
    text 单行输入文本 <input type=text" />
    password 密码输入框
    date 日期输入框
    checkbox 复选框
    radio 单选框
    submit 提交按钮
    reset 重置按钮
    button 普通按钮
    hidden 隐藏输入框  
    file 文本选择框
    <!--
     属性说明:
        name:表单提交时的“键”,注意和id的区别
        value:表单提交时对应项的值
        type="button", "reset", "submit"时,为按钮上显示的文本年内容
        type="text","password","hidden"时,为输入框的初始值
        type="checkbox", "radio", "file",为输入相关联的值
        checked:radio和checkbox默认被选中的项
        readonly:text和password设置只读(可以向后端传数据)
        disabled:所有input均适用(禁用,设置后对应的input不可以向后端传数据)
    -->
    

     

    select标签

    <!--下拉框-->
    <form action="" method="post">
      <select name="city" id="city">
        <option value="1">北京</option>
        <option selected value="2">上海</option>
        <option value="3">广州</option>
        <option value="4">深圳</option>
      </select>
    </form>
    
    <!--
    属性说明:
        multiple:布尔属性,设置后为多选,否则默认单选
        disabled:禁用,禁用后表单无法向后端传输该数据
        selected:默认选中该项
        value:定义提交时的选项值
    -->
    

      

    label标签

    定义:

    • label 标签为 input 元素定义标注(标记)。

    说明:

    • label 元素不会向用户呈现任何特殊效果。
    • label 标签的 for 属性值应当与相关元素的 id 属性值相同。
      <!--
      label标签本身不会产生任何特殊效果,通常与input一起使用
      用来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和该标签相关的表单控件上。
      -->
      <form action="">
          <!--方式一-->
          <!--当用户点击用户名时,焦点会自动转到input输入框上-->
          <label for="username">用户名:</label>
          <input type="text" id="username" name="username">
          <!--方式二-->
          <label for="username">用户名:
              <input type="text" id="username" name="username">
          </label>
      </form>

     

    textarea多行文本

    <!--textarea标签:文本域标签-->
    <textarea name="memo" id="memo" cols="30" rows="10">
      默认内容
    </textarea>
    
    <!--
    属性说明:
        name:名称
        rows:行数
        cols:列数
        disabled:禁用
    -->
    

      

    验证form表单提交数据

    # 能够出发form表单提交数据的按钮
    '''
    1、<input type="submit" value="注册">
    2、<button>点我</button>
    '''
    
    # 所有获取用户输入的标签 都应该有name属性
    '''
    	后端会通过name来获取前端表单提交的数据
    	name就类似于字典的key
      	用户的数据就类似于字典的value
    	<p>gender:
    		<input type="radio" name="gender" value="male">男
    		<input type="radio" name="gender" value="female">女
    	</p>
    '''
    
    # 偷窥后端框架的基本使用(flask)
    '''
    环境准备:pip install Flask
    '''
    
    # 后端
    from flask import Flask,request
    
    app = Flask(__name__)
    
    
    # 设置路由,methods不设置则默认只能支持get请求
    @app.route('/index/', methods=['GET','POST']) 
    def index():
        print(request.form)  # 获取form表单提交过来的非文件数据
        print(request.files)  # 获取文件数据
        file_obj = request.files.get('photo') # 获取对应文件数据
        file_obj.save(file_obj.name) # 保存文件数据
        return 'OK'
    
    app.run()
    

      

    <!--
    # 前端
    """
    form表单提交文件需要注意
    	1.method必须是post
    	2.enctype="multipart/form-data"
    		enctype类似于数据提交的编码格式
    			默认是urlencoded 只能够提交普通的文本数据
    			formdata 就可以支持提交文件数据
    """
    -->
    
        <h1>注册页面</h1>
        <!--在该form标签内部书写的用户数据都会被form标签提交给后端-->
        <!--
            action:表单提交的后端路径
                1.什么都不写  默认就是朝当前页面所在的url提交数据
                2.写全路径:https://www.baidu.com  朝百度服务端提交
                3.只写路径后缀action='/index/'
        -->
        <form action="http://127.0.0.1:5000/index/" method="post" enctype="multipart/form-data">
            <p>
                <label for="id">序号:</label>
                <input type="text" id="id" disabled value="1"> <!--readonly-->
            </p>
            <p>
                <label for="user">用户名:</label>
                <input type="text" id="user">
            </p>
            <p>
                <label for="password">密码:</label>
                <input type="password" id="password">
            </p>
            <p>性别:
                <input type="radio" name="gender" value="male" checked>男
                <input type="radio" name="gender" value="female">女
            </p>
            <p>
                <label for="birth">出生日期:</label>
                <input type="date" id="birth" name="birth">
            </p>
            <p>爱好:
                <input type="checkbox" name="hobby" value="read">阅读
                <input type="checkbox" name="hobby" value="animation" checked>动漫
                <input type="checkbox" name="hobby" value="running">跑步
            </p>
            <p>
                <label for="photo">上传头像:</label>
                <input type="file" id="photo" name="photo">
            </p>
            <p>所在地:
                <select name="city">
                    <option value="bj">北京</option>
                    <option value="sh" selected>上海</option>
                    <option value="sz">深圳</option>
                </select>
            </p>
            <p>
                <label for="about_me">自我介绍:</label>
                <textarea name="about_me" id="about_me" cols="20" rows="10" maxlength="20"></textarea>
            </p>
            <p>
                <input type="submit" name="submit" value="提交">
                <input type="button" name="btn" value="按钮">
                <input type="reset" name="reset" value="重置">
            </p>
        </form>
    

      

     
  • 相关阅读:
    是否需要有代码规范
    结对同伴作业复审
    个人作业-四则运算生成
    个人博客-week7
    个人博客作业Week3
    结对编程项目总结
    个人项目总结
    个人博客作业Week2
    第二次结对作业
    个人作业3——个人总结(Alpha阶段)
  • 原文地址:https://www.cnblogs.com/Tornadoes-Destroy-Parking-Lots/p/12878243.html
Copyright © 2011-2022 走看看