添加省市区地址电话姓名不能保存到页面

发布于 8 年前作者 pingxiang5548 次浏览最后编辑 8 年前来自 ask
WXOPEN Club 内容图片

域名明明是对的,为什么不行?

WXOPEN Club 内容图片

这里保存不了!什么原因?

WXOPEN Club 内容图片

购物车数据如何跳转到另一个页面去结算?

WXOPEN Club 内容图片

请专家帮忙解惑!谢谢!

你想反馈一个 Bug 还是 提一个需求?

如果是 Bug:

* Bug 表现是什么?预期表现是什么?

* 如何复现?

* 提供一个最简复现 Demo

如果是需求:

* 你希望有什么能力?

* 你需要这个能力的场景是 ?

10 回复
leizhou
leizhou1 楼6 年前
var commonCityData = require('../../utils/city.js')
//获取应用实例
var app = getApp()
Page({
  data: {
    provinces: [],
    citys: [],
    districts: [],
    selProvince: '请选择',
    selCity: '请选择',
    selDistrict: '请选择',
    selProvinceIndex: 0,
    selCityIndex: 0,
    selDistrictIndex: 0
  },
  bindCancel: function () {
    wx.navigateBack({})
  },
  bindSave: function (e) {
    var that = this;
    var linkMan = e.detail.value.linkMan;
    var address = e.detail.value.address;
    var mobile = e.detail.value.mobile;
    var code = e.detail.value.code;
 
    if (linkMan == "") {
      wx.showModal({
        title: '提示',
        content: '请填写联系人姓名',
        showCancel: false
      })
      return
    }
    if (mobile == "") {
      wx.showModal({
        title: '提示',
        content: '请填写手机号码',
        showCancel: false
      })
      return
    }
    if (this.data.selProvince == "请选择") {
      wx.showModal({
        title: '提示',
        content: '请选择地区',
        showCancel: false
      })
      return
    }
    if (this.data.selCity == "请选择") {
      wx.showModal({
        title: '提示',
        content: '请选择地区',
        showCancel: false
      })
      return
    }
    var cityId = commonCityData.cityData[this.data.selProvinceIndex].cityList[this.data.selCityIndex].id;
    var districtId;
    if (this.data.selDistrict == "请选择" || !this.data.selDistrict) {
      districtId = '';
    } else {
      districtId = commonCityData.cityData[this.data.selProvinceIndex].cityList[this.data.selCityIndex].districtList[this.data.selDistrictIndex].id;
    }
    if (address == "") {
      wx.showModal({
        title: '提示',
        content: '请填写详细地址',
        showCancel: false
      })
      return
    }
    if (code == "") {
      wx.showModal({
        title: '提示',
        content: '请填写邮编',
        showCancel: false
      })
      return
    }
    var apiAddoRuPDATE = "add";
    var apiAddid = that.data.id;
    if (apiAddid) {
      apiAddoRuPDATE = "update";
    } else {
      apiAddid = 0;
    }
    wx.request({
      url: 'https://638058639.gzwrd168.com',
      data: {
        token: app.globalData.token,
        id: apiAddid,
        provinceId: commonCityData.cityData[this.data.selProvinceIndex].id,
        cityId: cityId,
        districtId: districtId,
        linkMan: linkMan,
        address: address,
        mobile: mobile,
        code: code,
        isDefault: 'true'
      },
      success: function (res) {
        if (res.data.code != 0) {
          // 登录错误
          wx.hideLoading();
          wx.showModal({
            title: '失败',
            content: res.data.msg,
            showCancel: false
          })
          return;
        }
        // 跳转到结算页面
        wx.navigateBack({})
      }
    })
  },
  initCityData: function (level, obj) {
    if (level == 1) {
      var pinkArray = [];
      for (var i = 0; i < commonCityData.cityData.length; i++) {
        pinkArray.push(commonCityData.cityData[i].name);
      }
      this.setData({
        provinces: pinkArray
      });
    } else if (level == 2) {
      var pinkArray = [];
      var dataArray = obj.cityList
      for (var i = 0; i < dataArray.length; i++) {
        pinkArray.push(dataArray[i].name);
      }
      this.setData({
        citys: pinkArray
      });
    } else if (level == 3) {
      var pinkArray = [];
      var dataArray = obj.districtList
      for (var i = 0; i < dataArray.length; i++) {
        pinkArray.push(dataArray[i].name);
      }
      this.setData({
        districts: pinkArray
      });
    }
 
  },
  bindPickerProvinceChange: function (event) {
    var selIterm = commonCityData.cityData[event.detail.value];
    this.setData({
      selProvince: selIterm.name,
      selProvinceIndex: event.detail.value,
      selCity: '请选择',
      selCityIndex: 0,
      selDistrict: '请选择',
      selDistrictIndex: 0
    })
    this.initCityData(2, selIterm)
  },
  bindPickerCityChange: function (event) {
    var selIterm = commonCityData.cityData[this.data.selProvinceIndex].cityList[event.detail.value];
    this.setData({
      selCity: selIterm.name,
      selCityIndex: event.detail.value,
      selDistrict: '请选择',
      selDistrictIndex: 0
    })
    this.initCityData(3, selIterm)
  },
  bindPickerChange: function (event) {
    var selIterm = commonCityData.cityData[this.data.selProvinceIndex].cityList[this.data.selCityIndex].districtList[event.detail.value];
    if (selIterm && selIterm.name && event.detail.value) {
      this.setData({
        selDistrict: selIterm.name,
        selDistrictIndex: event.detail.value
      })
    }
  },
  onLoad: function (e) {
    var that = this;
    this.initCityData(1);
    var id = e.id;
    if (id) {
      // 初始化原数据
      wx.showLoading();
      wx.request({
        url: 'https://638058639.gzwrd168.com',
        data: {
          token: app.globalData.token,
          id: id
        },
        success: function (res) {
          wx.hideLoading();
          if (res.data.code == 0) {
            that.setData({
              id: id,
              addressData: res.data.data,
              selProvince: res.data.data.provinceStr,
              selCity: res.data.data.cityStr,
              selDistrict: res.data.data.areaStr
            });
            that.setDBSaveAddressId(res.data.data);
            return;
          } else {
            wx.showModal({
              title: '提示',
              content: '无法获取快递地址数据',
              showCancel: false
            })
          }
        }
      })
    }
  },
  setDBSaveAddressId: function (data) {
    var retSelIdx = 0;
    for (var i = 0; i < commonCityData.cityData.length; i++) {
      if (data.provinceId == commonCityData.cityData[i].id) {
        this.data.selProvinceIndex = i;
        for (var j = 0; j < commonCityData.cityData[i].cityList.length; j++) {
          if (data.cityId == commonCityData.cityData[i].cityList[j].id) {
            this.data.selCityIndex = j;
            for (var k = 0; k < commonCityData.cityData[i].cityList[j].districtList.length; k++) {
              if (data.districtId == commonCityData.cityData[i].cityList[j].districtList[k].id) {
                this.data.selDistrictIndex = k;
              }
            }
          }
        

...

xia79
xia792 楼6 年前

按你说的,把域名后面部分去掉后可以保存了,非常感谢,但如何将收货人信息内容显示在下方页面?

WXOPEN Club 内容图片
kshao
kshao3 楼6 年前

老师,怎么不回答?

yan94
yan944 楼6 年前
如何将收货人信息内容显示在下方页面?

你选择收货地址如果用的是wx.chooseAddress,那在你选择地址后,回调会返回收货地址信息啊,你把那个信息获取再显示不就好了

文字在js里如何换行?

加"\n"…

hren
hren5 楼6 年前

如何将收货人信息内容

WXOPEN Club 内容图片

显示在下方页面?

WXOPEN Club 内容图片

十万火急,求你了!小蟲,帮帮忙!

xia98
xia986 楼6 年前

老师专家,怎么没有回贴?

zouqiang
zouqiang7 楼6 年前

新手啊哥,不会写代码?

junye
junye8 楼6 年前

以下是user.wxml代码

<view class="main">
    <view class="header">
        <image src="{{thumb}}" class="thumb"></image>       
        <text class="nickname">{{nickname}}</text>    
    </view>
    <view class="address-box">
        <view class="address-manage">
            <navigator url="/pages/component/address/address">添加您的收货地址</navigator>
        </view>
        <view wx:if="{{hasAddress}}" class="address-list">
            <view>{{addressData.linkMan}}</view>
            <view>{{addressData.mobile}}</view>
            <view>{{selProvince}}{{selCity}}{{selDistrict}}</view>
            <view>{{addressData.address}}</view>
            <view>{{addressData.code}}</view>
        </view>
    </view>
    <view class="orders-box">
        <view class="orders">我的订单</view>
        <view class="orders-list" wx:for="{{orders}}" wx:key="index">
            <view class="orders-number">订单编号:{{item.number}}</view>
            <view class="orders-detail">
                <image src="{{item.thumb}}"></image>
                <view class="">{{item.name}}</view>
                <view class="">{{item.count}}</view>
                <text class="orders-status">{{item.status}}</text>
            </view>
            <view class="orders-footer">
                <text>实付:¥{{item.money}}</text>
                <button size="mini" class="orders-btn" bindtap="payOrders">付款</button>
            </view>
        </view>
    </view>
</view>

以下是user.jsl代码

Page({
  data: {
    thumb: '',
    nickname: '',
     
    orders: [],
    hasAddress: false,
    address: {}
  },
  onLoad() {
    var self = this;
    /**
     * 获取用户信息
     */
    wx.getUserInfo({
      success: function (res) {
        self.setData({
          thumb: res.userInfo.avatarUrl,
          nickname: res.userInfo.nickName
        })
      }
    }),
 
      /**
       * 发起请求获取订单列表信息
       */
      wx.request({
      url: 'https://638058639.gzwrd168.com',
        success(res) {
          self.setData({
            orders: res.data.orders
          })
        }
      })
  },
  onShow() {
    var self = this;
    /**
     * 获取本地缓存 地址信息
     */
    wx.getStorage({
      key: 'address',
      success: function (res) {
        self.setData({
          hasAddress: true,
          address: res.data
        })
      }
    })
  },
  /**
   * 发起支付请求
   */
  payOrders() {
    wx.requestPayment({
      timeStamp: 'String1',
      nonceStr: 'String2',
      package: 'String3',
      signType: 'MD5',
      paySign: 'String4',
      success: function (res) {
        console.log(res)
      },
      fail: function (res) {
        wx.showModal({
          title: '支付提示',
          content: '<text>',
          showCancel: false
        })
      }
    })
  }
})

老师,

帮帮看看如何显示在user页面上!谢谢!

mingcao
mingcao9 楼6 年前
WXOPEN Club 内容图片

你觉得我这两个箭头指的链接相等吗,明显第一个多了一个“undefined”吧,你得搞清楚这个undefined哪里来的

zouyan
zouyan10 楼6 年前

文字在js里如何换行?