• form表单与模板引擎



    一、form表单的基本使用

    1.1 什么是表单

    ☀️

    表单在网页中主要负责数据采集功能。HTML中的标签,就是用于采集用户输入的信息,并通过标签的提交操作,把采集到的信息提交到服务器端进行处理。
    在这里插入图片描述

    1.2 表单的组成部分

    在这里插入图片描述

    1.3 标签的属性

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

      <form action="/login" target="_blank" method="post">
        <input type="text" name="email_or_mobile" />
        <input type="password" name="password" />
        <button type="submit">提交</button>
      </form>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.4 表单的同步提交及缺点

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

      <form action="/login" target="_blank" method="post">
        <input type="text" name="email_or_mobile" />
        <input type="password" name="password" />
        <button type="submit">提交</button>
      </form>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    二、通过ajax提交表单数据

    2.1 监听表单提交事件

    ☀️

    在这里插入图片描述

      <form action="/login" id="f1">
        <input type="text" name="user_name" />
        <input type="password" name="password" />
        <button type="submit">提交</button>
      </form>
    
      <script>
        $(function () {
          // 第一种方式
          // $('#f1').submit(function () {
          //   alert('监听到了表单的提交事件')
          // })
    
          // 第二种方式
          $('#f1').on('submit', function () {  
            alert('监听到了表单的提交事件2')
          })
        })
      </script>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    2.2 阻止表单默认提交行为

    在这里插入图片描述

      <form action="/login" id="f1">
        <input type="text" name="user_name" />
        <input type="password" name="password" />
        <button type="submit">提交</button>
      </form>
    
      <script>
        $(function () {
          // 第一种方式
          // $('#f1').submit(function () {
          //   alert('监听到了表单的提交事件')
          // })
    
          // 第二种方式
          $('#f1').on('submit', function () {  
            alert('监听到了表单的提交事件2')
          })
        })
      </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    2.3 快速获取表单中的数据serialize

    在这里插入图片描述
    在这里插入图片描述

      <form action="/login" id="f1">
        <input type="text" name="user_name" />
        <input type="password" name="password" />
        <button type="submit">提交</button>
      </form>
    
      <script>
        $(function () {
          // 第一种方式
          // $('#f1').submit(function (e) {
          //   alert('监听到了表单的提交事件')
          //   e.preventDefault()
          // })
    
          // 第二种方式
          $('#f1').on('submit', function (e) {  
            alert('监听到了表单的提交事件2')
            e.preventDefault()
          })
        })
      </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    三、案例-评论列表

    ☀️

    在这里插入图片描述

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <link rel="stylesheet" href="./lib/bootstrap.css" />
      <script src="./lib/jquery.js"></script>
      <script src="./js/cmt.js"></script>
    </head>
    
    <body style="padding: 15px;">
    
      <!-- 评论面板 -->
      <div class="panel panel-primary">
        <div class="panel-heading">
          <h3 class="panel-title">发表评论</h3>
        </div>
        <form class="panel-body" id="formAddCmt">
          <div>评论人:</div>
          <input type="text" class="form-control" name="username" autocomplete="off" />
          <div>评论内容:</div>
          <textarea class="form-control" name="content"></textarea>
    
          <button type="submit" class="btn btn-primary">发表评论</button>
        </form>
      </div>
    
    
      <!-- 评论列表 -->
      <ul class="list-group" id="cmt-list">
        <li class="list-group-item">
          <span class="badge" style="background-color: #F0AD4E;">评论时间:</span>
          <span class="badge" style="background-color: #5BC0DE;">评论人:</span>
    
        </li>
      </ul>
    
    </body>
    
    </html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    四、模板引擎的基本概念

    4.1 渲染UI结构时遇到的问题

    ☀️

    在这里插入图片描述

    4.2 什么是模板引擎

    在这里插入图片描述

    4.3 模板引擎的好处

    1. 减少了字符串的拼接操作
    2. 使代码结构更清晰
    3. 使代码更易于阅读与维护

    五、art-template模板引擎

    5.1 art-template简介

    ☀️

    art-template 是一个简约、超快的模板引擎。中文官网首页为
    art-template地址
    在这里插入图片描述

    5.2 art-template的安装

    在浏览器中访问 http://aui.github.io/art-template/zh-cn/docs/installation.html 页面,找到下载链接后,鼠标右键,选择“链接另存为”,将 art-template 下载到本地,然后,通过