微信小程序如何将表单的数据发送到数据库,云开发,并实现将数据渲染到页面中

news2025/1/23 22:35:31

一、表单数据发送到数据库

1. 利用bindsubmit来写一个函数

<form bindsubmit="bindSubmit">
  <view class="form_border">
    <label>收件人名称:</label>
    <input name="userName" auto-focus placeholder="  请填写收件人" />
  </view>
  <view class="form_border">
    <label>在哪里取件:</label>
    <input name="getAdress"  placeholder="  请填写取件地址" />
  </view>
  <view class="form_border">
    <label>送到哪里去:</label>
    <input name="putAdress"  placeholder="  请填写送货地址" />
  </view>
  <view class="form_border">
    <label>送达时间:</label>
    <input name="getTime"  placeholder="  请填写送达时间" />
  </view>
  <view class="form_border">
    <label>取件码:</label>
    <input name="getNumber"  placeholder="  请填写取件码" />
  </view>
  <view class="form_border">
    <label>联系电话:</label>
    <input name="userNumber"  placeholder="  请填写联系电话" />
  </view>
  <view class="form_border">
    <label>酬劳费用:</label>
    <input name="getPrice" placeholder="  请填写酬劳费用" />
  </view>
 
 <button hover-class="hover-button" class="button" form-type="submit">提交订单</button>
  <button hover-class="hover-button" class="button" form-type="reset" style="margin-top: 10rpx;">重置订单</button>

</form>

2. 给每一个变量一个name值,用于传值

如上图

3. 添加两个按钮用于提交表单和重置表单

 <button hover-class="hover-button" class="button" form-type="submit">提交订单</button>
  <button hover-class="hover-button" class="button" form-type="reset" style="margin-top: 10rpx;">重置订单</button>

 form-type的不同属性实现不同的作用。

4. 下面是wxss的样式,不做解释

view{
  height: 100rpx;
  margin-top: 20rpx;
}
input{
  width: 750rpx;
  height: 60rpx;
  display: block;
  box-sizing: border-box
}
label{
  display: inline-flex;
  width: 300rpx;
  height: 50rpx;
  margin-bottom: 20rpx;
}
.form_border{
  margin: 20rpx,20rpx,20rpx,20rpx;
  padding-bottom: 20rpx;
  border-bottom: solid #b3aeae;
  display:inline-flexbox;

}
input{
  font-size: 35rpx;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  padding-bottom: 20rpx;
}
.button{
  align-items: center;
  text-align: center;
  color: #FFFFFF;
  border-radius: 25rpx;
  padding: 10rpx;
  margin-top: 80rpx;
  margin-bottom: 0rpx;
  width:50%;
  height: 100rpx;
  /* z-index:666; */
  bottom:15rpx;
  display: -webkit-flex;
  justify-content:center;
  background-color: #259dff;
}

.hover-button{
  position: relative;
  top: 3rpx;
  left: 3rpx;
  box-shadow:0px 0px 8px rgba(0, 0, 0, 0.1) inset;
  background: rgb(195, 219, 182);
}

 5. js部分的函数实现

 

data: {
    "userName":"",
    "getAdress":"",
    "putAdress":"",
    "getTime":"",
    "getNumber":"",
    "userNumber":"",
    "getPrice":""
  },
  bindSubmit:function(res){
    console.log(res)
    
    var userName = res.detail.value.userName
    var getAdress = res.detail.value.getAdress
    var putAdress = res.detail.value.putAdress
    var getTime = res.detail.value.getTime
    var getNumber = res.detail.value.getNumber
    var userNumber = res.detail.value.userNumber
    var getPrice = res.detail.value.getPrice

    userNumber = Number(userNumber)
    getNumber = Number(getNumber)
    getPrice = Number(getPrice)

    wx.showLoading({
      title: '订单发布中...',
      mask: "true"
    })
    db.collection("put_list").add({
      data: {
        "userName":userName,
        "getAdress":getAdress,
        "putAdress":putAdress,
        "getTime":getTime,
        "getNumber":getNumber,
        "userNumber":userNumber,
        "getPrice":getPrice
      },
      success: function(res){
        console.log(res)
        wx.hideLoading()
      }
    })
  },

6. 效果展示

二、表单数据库发送到数据库之后,将数据渲染到页面上

 1. 用小程序中的接口函数来实现

 

const db = wx.cloud.database()//全局变量放在page外面
onLoad:function(options) {
    db.collection('put_list').get({
      success: res=>{
        console.log('请求成功',res)//res.data包含该记录的数据
        this.setData({
          List: res.data
        })
      },
      fail(err){
        console.log('请求失败',err)
      }
    })
  },

db.collection(这里面是数据库中集合的名字).

我最大的疑问是:我在这一步:success:function(res){}这样写错了,页面一直不显示,明明显示请求成功,唉!改成:success:res=>就成功了

2. 要有一个空数组来存数据

data: {
  List: []
  },

3. 最后在wxml中渲染,调用数组,来显示数据

因为把数据库中的数据存在了空数组中,然后调用数组就可以显示出数据库中的数据

<block wx:for="{{List}}">
<!-- 上面 -->
<view class="container0">
<view class="left">*用户名: {{item.userName}}</view>
<view class="right">取件码: {{item.getNumber}}</view>
</view>
<!-- 中间 -->
<view class="container2">
  <view>取件地址:{{item.getAdress}}</view>
  <view>送货地址:{{item.putAdress}}</view>
  <view>送达时间:{{item.getTime}}</view>
</view>
<!-- 下面 -->
<view class="container1">
  <view class="left">联系电话:{{item.userNumber}}</view>
  <view class="right">酬劳:{{item.getPrice}}元</view>
</view>

</block>

4. 效果展示

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/408141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java编程指南】语法基础

目录 一、前言 二、关键字 三、数据类型 1.存储单元 2.存储范围 3.类型转换 四、常量 五、变量 六、标识符 七、注释 一、前言 学习目标 1&#xff1a;熟悉Java的关键字、数据类型&#xff08;包括范围&#xff09;、常量与变量的区别 学习目标 2&#xff1a;类型转…

Java项目中利用飞书自定义机器人Webhook向飞书群推送告警通知

今天来看一下如何在Java项目中利用飞书的自定义机器人Webhook向飞书群推送告警通知 一、功能场景 企业存在给特定群组自动推送消息的需求&#xff0c;比如&#xff1a;监控报警推送、销售线索推送、运营内容推送等。 你可以在群聊中添加一个自定义机器人&#xff0c;通…

vue-print 实现打印功能

目录一、安装1. Vue22. Vue3二、基本使用1. 直接打印页面HTML2. 个性化设置3. 打印URL三、API一、安装 1. Vue2 npm install vue-print-nb --saveimport Print from vue-print-nb // Global instruction Vue.use(Print);//or// Local instruction import print from vue-pri…

选 择 器

目录 1、三种基本选择器&#xff08;重要&#xff09; &#xff08;1&#xff09;基本选择器 &#xff08;2&#xff09;类选择器 class &#xff08;3&#xff09;id选择器 2、层次选择器 &#xff08;1&#xff09;后代选择器 &#xff08;2&#xff09;子选择器 &am…

【JavaScript速成之路】JavaScript内置对象--数组对象

&#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f525;系列专栏&#xff1a;【JavaScript速成之路】 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; 文章目录前言数组对象1&#xff0c;数组类型检测2&#xff0c;数组元素增删3&#xff0c;…

【面试题】面试官:如果后端给你 1w 条数据,你如何做展示?

最近一位朋友参加阿b的面试&#xff0c;然后面试官问了她这个问题&#xff0c;我问她咋写的&#xff0c;她一脸淡定的说&#xff1a;“虚拟列表。”大厂面试题分享 面试题库前后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★地址&#xff1a;前端面…

canvas简易使用教程

简介:<canvas> </canvas> 是 HTML5 新增的&#xff0c;一个可以使用脚本(通常为 JavaScript) 在其中绘制图像的 HTML 元素。提供了一个通过JavaScript 和 HTML的<canvas>元素来绘制图形的方式。它可以用于动画、游戏画面、数据可视化、图片编辑(如照片集)以及…

FilterChain(过滤器链)详解

在一个 Web 应用程序中可以注册多个 Filter 程序&#xff0c;每个 Filter 程序都可以针对某一个 URL 进行拦截。如果多个 Filter 程序都对同一个 URL 进行拦截&#xff0c;那么这些 Filter 就会组成一个Filter 链&#xff08;也称过滤器链&#xff09;。 Filter 链用 FilterCh…

vue获取文件流(视频流、音频流、图片流)数据并将其回显展示

前言 这几天深受数据回显的折磨&#xff0c;级联选择器的回显还没想出怎么弄&#xff0c;又碰到了文件流的回显&#xff0c;主要第一次接触&#xff0c;看着一堆乱码&#xff0c;连是什么问题都不懂&#xff0c;后面通过查阅一天的资料&#xff0c;总结了一下方法&#xff0c;…

Axure教程-新手入门基础(小白强烈推荐!!!)

Axure教程-新手入门基础(小白推荐) 1.Axure软件介绍 Axure RP是一款专业的快速原型设计工具。Axure&#xff08;发音&#xff1a;Ack-sure&#xff09;&#xff0c;代表美国Axure公司&#xff1b;RP则是Rapid Prototyping&#xff08;快速原型&#xff09;的缩写。 Axure RP的…

Code For Better 谷歌开发者之声——使用谷歌浏览器 Chrome 更好地调试

&#x1f482; 个人网站:【 海拥】【小霸王游戏机】&#x1f91f; 风趣幽默的前端学习课程&#xff1a;&#x1f449;28个案例趣学前端&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】&#x1f4ac; 免费且实用的计算机相关知识题库&…

layui最新版本更新已全面拥抱Vue3,layui - vue是一套Vue 3.0的桌面端组件库,提供100%的layui的体验;

layui - vue目前的版本是1.4.9&#xff0c;目前常用的大部分组件已全部覆盖&#xff0c;最惊喜的地方在动画和过度组件做的比较好&#xff0c;应该是目前Vue组件库里面做的比较好的&#xff0c;Vue的动画相比于React和Angular一直比较弱,layui - vue目前做的不错&#xff0c;目…

前端中的BFC是什么?

BFC的概念 BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域&#xff0c;只有Block-level box参与&#xff0c; 它规定了内部的Block-level Box如何布局&#xff0c;并且与这个区域外部毫不相干。 MDN给出的解释是&#xff1a;BFC是…

【docker基础操作命令】(一)启动命令和镜像命令

文章目录docker启动命令1. 启动docker2. 关闭docker3. 重启docker4. 查看docker运行状态5. 设置docker开机自启动6. 查看docker信息7. 查看docker的帮助文档docker镜像命令1. 显示当前docker下的所有镜像2. 从远程仓库查看指定名称的镜像3. 下载镜像到本地4. 查看镜像/容器/数据…

分布式ELK日志监控系统环境搭建

文章目录1.1为什么需要监控项目日志1.2ELK日志监控系统介绍1.3ELK的工作流程1.4ELK环境搭建1.4.1Elasticsearch的安装1.4.2Kibana的安装1.4.3Logstash的安装1.4.4数据源配置1.4.5日志监测测试1.1为什么需要监控项目日志 项目日志是记录项目运行过程中产生的事件和信息的重要工…

web前端开发和后端开发哪个难度大?

前言 因为涉及到的具体的应用的领域不同&#xff0c;所以说不能简单地说哪一个难&#xff0c;对于前端而言你会感觉到入门会非常的简单&#xff0c;这也是会给许多人一种错觉&#xff0c;前端很简单&#xff0c;但是只能说是在入门理解上是有利于新手的&#xff0c;前端在主要…

Python tkinter(GUI编程)模块最完整教程(上)

提示&#xff1a;下滑文章左侧可以查看目录&#xff01; 1 走进tkinter世界 1.1 认识tkinter tkinter是一个GUI开发模块&#xff0c;是Tcl/Tk语言在Python上的接口&#xff0c;可以在大部分操作系统上运行。tkinter非常的简单而且好用。tkinter模块是自带的Python模块&#…

vue3.2 基础及常用方法

Vue3.2(21年8月10日)相比于Vue3新增了语法糖,减少了代码冗余 Vue3相比于Vue2,在虚拟DOM,编译, 数据代理,打包构建封面进行了优化 Vue3使用组合式API, 适合大型项目, 去除了this vue2的 beforeCreate 和 created 被新增的setup生命周期替代 vue3 使用插件: volar 配置用户代…

js中常遇到 切割截取字符串的几种方法

切割截取字符串的几种方法 1、 split() 方法用于把一个 字符串 分割成 字符串数组 &#xff1b; stringObject.split(str,length)var str "123,456,789"; console.log(str.split()); // ["1", "2", "3", ",", "4&qu…

【PC端聊天功能模板】vue-elementul简单实现电脑端客服聊天功能,pc端聊天系统静态页面布局,配套websocket方案和心跳重连机制【详细注释,拿来即用】

前言 这里是给大家写了一个简单的模板来使用&#xff0c;可以直接复制了调调就能用。因为这个聊天也是很容易出现的功能&#xff0c;所以我写一个模板静态页面放在这&#xff0c;以后需要这个功能的时候可以不用布局了&#xff0c;直接复制改改。 我的代码里面有详细的注释&…