微信小程序实现留言板


Posted in Javascript onOctober 31, 2018

本文实例为大家分享了微信小程序实现留言板的具体代码,供大家参考,具体内容如下

微信小程序实现留言板

CSS:

/* pages/order/message2/message2.wxss */
 .msg-box{
 padding: 20px;
 }
 .send-box{
 display: flex;
 }
 .input{
 border: 1px solid #B0C4DE;
 padding: 5px;
 }
.msg-info{
 display: block;
 margin: 10px 0 0 0 ;
 color: #339900;
 
 }
 .place-input{
 color: salmon;
 }
 .list-view{
 margin: 20px 0 0 0;
 }
 .item{
 overflow: hidden;
 border-bottom: 1px dashed #87CEFF;
 height: 30px;
 line-height: 30px;
 }
 .text1{
 float: left;
 }
 .close-btn{
 float: right;
 margin: 5px 5px 0 0;
 }

js:

const app = getApp();
Page({
 
 /**
 * 页面的初始数据
 */
 data: {
 
 msgData:
 [
  {
  child_id: 1,
  msg:
  "我想做个眉毛,到店后求推荐。",
  
  checked:''
  },
  {
  child_id: 2,
  msg:
  "我只有2小时,您看着安排吧。",
  checked: ''
  },
  {
  child_id: 3,
  msg:
  "我和朋友一起过来。",
  checked: ''
  },
  {
  child_id: 4,
  msg:
  "美甲样式到店挑选。",
  checked: ''
  },
  {
  child_id: 5,
  msg:
  
  "给眉毛再补个颜色。",
  checked: ''
  },
  {
  child_id: 6,
  msg:
  "我要补睫毛哦。",
   checked:''
  }
 ],
 message: '',
 message_id:[],
 },
 
 bindTextAreaChange: function(e){
 var that = this
 that.setData({
  message:e.detail.value
 })
 },
 
 click:function(e){
 var that = this;
 let id = e.currentTarget.dataset.id;
 let index = e.currentTarget.dataset.index;
 var value = [];
 value = this.data.message_id;
 var array_i = this.in_array(id, value);
 var chekeds = that.data.msgData;
 var msg = chekeds[index].msg;
 var message = that.data.message;
 if (!e.currentTarget.dataset.checked){ 
  chekeds[index].checked = true
  that.setData({
  message: message + msg
  })
 }else{
  chekeds[index].checked = false
  that.setData({
  message: message.replace(msg, '')
  })
 }
 that.setData({
  msgData: chekeds
 })
 if (array_i) {
  value.splice(array_i, 1);
 } else {
  value.push(id);
 }
 this.setData({
  message_id: value,
 })
 },
 in_array: function (search, array) {
 for (var i in array) {
  if (array[i] == search) {
  return i;
  }
 }
 return false;
 },
 submit:function(){
 var value = [];
 var message = this.data.message;
 var msgData = this.data.msgData;
 if (message == '' && !value.length) {
  wx.showToast({
  title: '暂无选择项目',
  icon:'none'
  })
  return;
 }
 app.globalData.message = message;
 for (var i = 0; i < msgData.length; i++) {
  if(message.indexOf(msgData[i].msg) > -1){
  value[i] = msgData[i].child_id;
  }
 }
 wx.request({
  url: 'https://www.omeiclub.com/app/public/index.php/index/index/server',
  method: 'POST',
  data: { message_id: value, openId: app.globalData.openId, message: message, token: app.globalData.token},
  header: {
  'Accept': 'application/json'
  },
  success: function (res) {
  if(res){
   // wx.showToast({
   // title: '捎话成功',
   // success:function(){
    
   // }
   // })
   wx.switchTab({
   url: '/pages/order/order',
   success: function (e) {
    var page = getCurrentPages().pop();
    if (page == undefined || page == null) return;
    page.onLoad();
   }
   })
   app.globalData.message = message;
  }
  
  console.log(res)
  }
 })
 },
 
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {
 var that = this;
 wx.request({
  url: 'https://www.omeiclub.com/app/public/index.php/index/index/serversle',
  method: 'POST',
  data: { openId: app.globalData.openId, token: app.globalData.token},
  header: {
  'Accept': 'application/json'
  },
  success: function (res) {
  if (res.data){
   var message_id = res.data.message_id;
   var value = that.data.msgData;
   var message = res.data.message;
   that.setData({
   message: message
   });
   for (var i = 0; i < value.length;i++) {
   if (that.in_array(value[i].child_id, message_id)) {
    value[i].checked = true;
    that.setData({
    msgData: value,
    });
   }
   }
  }
  }
 })
 
 },
 
 /**
 * 生命周期函数--监听页面初次渲染完成
 */
 onReady: function () {
 
 },
 
 /**
 * 生命周期函数--监听页面显示
 */
 onShow: function () {
 
 },
 
 /**
 * 生命周期函数--监听页面隐藏
 */
 onHide: function () {
 
 },
 
 /**
 * 生命周期函数--监听页面卸载
 */
 onUnload: function () {
 
 
 },
 
 /**
 * 页面相关事件处理函数--监听用户下拉动作
 */
 onPullDownRefresh: function () {
 
 },
 
 /**
 * 页面上拉触底事件的处理函数
 */
 onReachBottom: function () {
 
 },
 
 /**
 * 用户点击右上角分享
 */
 onShareAppMessage: function () {
 
 }
})

html

<!--pages/order/message/message.wxml--> 
<view class='message_nav'> 
 <form bindsubmit='FormSubmit'> 
 <view class='section'> 
 <textarea class='message1' type='text' placeholder="请选择或者输入捎话(60字以内)" maxlength='80' style="word- wrap:break-word" bindinput='bindTextAreaChange' value="{{message}}"></textarea> 
</view> 
 <view class='fast'>快速捎话:</view> 
<checkbox-group class="checkboxChange"> 
 <view wx:for="{{msgData}}" wx:key="{{index}}" data-index="{{index}}" data-id="{{item.child_id}}" data-checked='{{item.checked}}' bindtap='click' > 
 <checkbox value='{{item.msg}}' class='item' checked='{{item.checked}}' >{{item.msg}}</checkbox> 
 </view> 
</checkbox-group> 
<button class='submit' bindtap='submit'>捎话</button> 
</form> 
</view>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
cookie的复制与使用记住用户名实现代码
Nov 04 Javascript
jQuery实现折线图的方法
Feb 28 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
Jun 08 Javascript
JavaScript数据类型转换的注意事项
Jul 31 Javascript
详解微信小程序开发之城市选择器 城市切换
Jan 17 Javascript
vue2.x select2 指令封装详解
Oct 12 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
Oct 13 Javascript
Javascript实现购物车功能的详细代码
May 08 Javascript
js实现unicode码字符串与utf8字节数据互转详解
Mar 21 Javascript
angular多语言配置详解
May 16 Javascript
el-select数据过多懒加载的解决(loadmore)
May 29 Javascript
layui table去掉右侧滑动条的实现方法
Sep 05 Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 #Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
Oct 31 #Javascript
微信小程序实现留言功能
Oct 31 #Javascript
微信小程序签到功能
Oct 31 #Javascript
vue+element-ui实现表格编辑的三种实现方式
Oct 31 #Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
Oct 31 #Javascript
微信小程序实现签到功能
Oct 31 #Javascript
You might like
PHP中数据库单例模式的实现代码分享
2014/08/21 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
js 如何实现对数据库的增删改查
2012/11/23 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
python 获取文件列表(或是目录例表)
2009/03/25 Python
在Python下进行UDP网络编程的教程
2015/04/29 Python
Python基于select实现的socket服务器
2016/04/13 Python
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
公司离职证明范本
2014/01/13 职场文书
祖国在我心中演讲稿
2014/01/15 职场文书
运动会通讯稿100字
2014/01/31 职场文书
三年级数学教学反思
2014/01/31 职场文书
书法大赛策划方案
2014/06/04 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
springboot中的pom文件 project报错问题
2022/01/18 Java/Android
nginx lua 操作 mysql
2022/05/15 Servers