微信小程序?qū)崿F(xiàn)留言板功能
更新時間:2018年11月02日 08:47:43 作者:煥想
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)留言板功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了微信小程序?qū)崿F(xiàn)留言板功能,可以手寫,可以刪除,可以快速留言,供大家參考,具體內(nèi)容如下
const app = getApp();
Page({
/**
* 頁面的初始數(shù)據(jù)
*/
data: {
msgData:
[
{
child_id: 1,
msg:
"泡澡水不要太熱。",
checked:''
},//雙引號
{
child_id: 2,
msg:
"面部比較干,想補個水。",
checked: ''
},
{
child_id: 3,
msg:
"我只有2小時,您看著安排吧。",
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.njnrkj.com/app/public/index.php/index/index/server',
method: 'POST',
data: {message_id: value, openId: app.globalData.openId, message: message},
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)
}
})
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面加載
*/
onLoad: function (options) {
var that = this;
wx.request({
url: 'https://www.njnrkj.com/app/public/index.php/index/index/serversle',
method: 'POST',
data: { openId: app.globalData.openId },
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,
});
}
}
}
}
})
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面顯示
*/
onShow: function () {
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面隱藏
*/
onHide: function () {
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面卸載
*/
onUnload: function () {
},
/**
* 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作
*/
onPullDownRefresh: function () {
},
/**
* 頁面上拉觸底事件的處理函數(shù)
*/
onReachBottom: function () {
},
/**
* 用戶點擊右上角分享
*/
onShareAppMessage: function () {
}
})
xml:
<!--pages/order/message/message.wxml-->
<view class='message_nav'>
<form bindsubmit='FormSubmit'>
<view class='section'>
<textarea class='message1' type='text' placeholder="請選擇或者輸入捎話(60字以內(nèi))" 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>
CSS:
/* pages/order/message/message.wxss */
/*捎話 */
.message_nav{
position: fixed;
width: 100%;
}
.section{
width:96%;
height:220rpx;
margin-left:5px;
}
.message1{
width:96%;
height:210rpx;
margin-top: 30rpx;
font-size: 68%;
margin-left:20px;
}
.circle{
height:35rpx;
width:35rpx;
border-radius: 50%;
border: 1rpx solid #ccc;
display:inline-block;
margin:28rpx 45rpx auto 50rpx;
}
.fast{
position:relative;
top:-50rpx;
font-size:90%;
background:#f4f4f4;
line-height:100rpx;
text-indent:2em;
}
.item{
position:relative;
border-bottom:1px solid #f4f4f4;
padding-bottom:10px;
top: -60rpx;
}
.item:hover{
background:pink;
color: #f4f4f4;
}
.message_font{
font-size:80%;
font-family:"微軟雅黑";
font-weight:blod;
display:inline-block;
position:relative;
top:-5rpx;
}
.submit{
outline:none;
border:none;
list-style: none;
width:100%;
height: 100rpx;
background: #fed1d6;
position: relative;
top:160rpx;
line-height: 100rpx;
-webkit-border-radius: 1rpx;
-moz-border-radius: 1rpx;
border-radius: 1rpx;
-webkit-appearance : none ;
}
button::after{
border:none;
}
.item{
position:relative;
border-bottom:1px solid #f4f4f4;
padding-top:5px;
top: -60rpx;
width:100%;
padding-left: 45rpx;
}
.checkboxChange{
position:relative;
top:15rpx;
font-size: 68%;
border-radius: 50%;
}
/* .circle{
border-radius: 50%;
} */
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于JavaScript實現(xiàn)回到頁面頂部動畫代碼
這篇文章主要介紹了基于JavaScript實現(xiàn)回到頁面頂部動畫代碼的相關(guān)資料,代碼簡單易用,非常實用,需要的朋友可以參考下2016-05-05
淺談webpack打包生成的bundle.js文件過大的問題
下面小編就為大家分享一篇淺談webpack打包生成的bundle.js文件過大的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
js中document.write和document.writeln的區(qū)別
這篇文章主要介紹了js中document.write和document.writeln的區(qū)別,需要的朋友可以參考下2018-03-03
JavaScript數(shù)據(jù)結(jié)構(gòu)中串的表示與應(yīng)用實例
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)中串的表示與應(yīng)用,結(jié)合實例形式簡單分析了基于javascript順序操作實現(xiàn)串結(jié)構(gòu)與串的拼接操作相關(guān)技巧,需要的朋友可以參考下2017-04-04

