let App = getApp(); Page({ /** * 页面的初始数据 */ data: { disabled: false, nav_select: false, // 快捷导航 region: '', detail: {}, error: '', }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { // 获取当前地址信息 this.getAddressDetail(options.address_id); }, /** * 获取当前地址信息 */ getAddressDetail: function(address_id) { let _this = this; App._get('address/detail', { address_id }, function(result) { _this.setData(result.data); }); }, /** * 表单提交 */ saveData: function(e) { let _this = this, values = e.detail.value values.region = this.data.region; // 记录formId App.saveFormId(e.detail.formId); // 表单验证 if (!_this.validation(values)) { App.showError(_this.data.error); return false; } // 按钮禁用 _this.setData({ disabled: true }); // 提交到后端 values.address_id = _this.data.detail.address_id; App._post_form('address/edit', values, function(result) { App.showSuccess(result.msg, function() { wx.navigateBack(); }); }, false, function() { // 解除禁用 _this.setData({ disabled: false }); }); }, /** * 表单验证 */ validation: function(values) { if (values.name === '') { this.data.error = '收件人不能为空'; return false; } if (values.phone.length < 1) { this.data.error = '手机号不能为空'; return false; } // if (values.phone.length !== 11) { // this.data.error = '手机号长度有误'; // return false; // } let reg = /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/; if (!reg.test(values.phone)) { this.data.error = '手机号不符合要求'; return false; } if (!this.data.region) { this.data.error = '省市区不能空'; return false; } if (values.detail === '') { this.data.error = '详细地址不能为空'; return false; } return true; }, /** * 修改地区 */ bindRegionChange: function(e) { this.setData({ region: e.detail.value }) }, /** * 获取微信地址 */ chooseAddress: function() { let _this = this; wx.chooseAddress({ success: function(res) { _this.setData({ 'detail.name': res.userName, 'detail.phone': res.telNumber, 'detail.detail': res.detailInfo, region: [res.provinceName, res.cityName, res.countyName], }); } }) }, })