效果图:

说明:请选择房屋所在城市的效果是省市区选择器,刚开始我们可能直接在picker选择器中直接包含一个input输入框实现,但是这样的话点击选择的话可能聚焦在输入框中,我们想要的效果是点击的时候直接拉起省市区选择器。

解决办法:考虑到未选择前有文字提示,我们可以用判断city变量的方法条件显示提示和选择的内容,同时为了在表单提交中可以获取到内容,可以把选择的内容同时绑定到input输入框并且把input框隐藏。

<form catchsubmit="submitFn"><picker mode="region" bindchange="bindRegionChange" value="{{region}}"><view class="item"><text class="text">*</text><view class="weui-input" wx:if="{{city.length > 0}}">{{city}}</view><view class="input-placeholder" wx:else>请选择房屋所在城市</view><input type="text" name="city" value="{{city}}" hidden="true"/></view></picker><view class="item"><text class="text"></text><input type="text" name="address" value="{{LinkArea}}" class="weui-input" placeholder="请输入您的联系地址" placeholder-class="input-placeholder" /></view><view class="item"><text class="text"></text><input type="text" name="area" value="{{area}}" class="weui-input" placeholder="请输入房屋面积" placeholder-class="input-placeholder" /></view><view class="item"><text class="text">*</text><input type="text" name="phone" value="{{phone}}" class="weui-input" placeholder="请输入联系电话" placeholder-class="input-placeholder" /></view><button class="btn" formType="submit"><text>立即提交</text></button><view class="desc">装企提供免费上门量房服务、出3套方案供您对比</view>
</form>
data: {city:[],//所在城市LinkArea:'',//联系地址area: "",//房屋面积phone: "",//联系电话region: ["广东省", "广州市", "海珠区"],
},
// 表单提交
submitFn: function (e) {let that = this;if (e.detail.value.city == "") {wx.showToast({title: "请选择房屋所在城市",icon: "none",});return false;}if (e.detail.value.phone == "") {wx.showToast({title: "请输入联系电话",icon: "none",});return false;}// 验证电话格式if (!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(e.detail.value.phone)) {wx.showToast({title: "手机号码有误",duration: 2000,icon: "none",});return false;}wx.request({url: util.domain+'portal/index/biaodan', //仅为示例,并非真实的接口地址data: e.detail.value,method: "POST",success (res) {let e = res.data;if(e.code == 1){that.setData({city: "",LinkArea:"",area: "",name: "",phone: "",})}wx.showToast({title: e.msg,duration: 2000,icon: "none",});}})},
// 选择城市
bindRegionChange: function (e) {console.log("picker发送选择改变,携带值为", e.detail.value);this.setData({city: e.detail.value,region: e.detail.value});console.log(this.data.city)
},
.forms .item {height: 85rpx;background-color: #fff;border: solid 1rpx #dddddd;border-radius: 10rpx;padding: 0 10rpx;margin-bottom: 20rpx;display: flex;align-items: center;
}.forms .item .text {color: #ff0000;display: inline-block;width: 30rpx;font-size: 24rpx;
}.forms .item .picker {flex: 1;height: 100%;display: flex;align-items: center;
}.forms .item .weui-input {font-size: 28rpx;flex: 1;
}.forms .item .input-placeholder {color: #999;font-size: 28rpx;flex: 1;
}.forms .btn {width: 100%;height: 85rpx;background-color: #00a0e9;box-shadow: 3rpx 4prx 13rpx 0rpx rgba(93, 200, 249, 0.59);border-radius: 6rpx;text-align: center;line-height: 85rpx;margin: 30rpx 0;position: relative;
}.forms .btn text {color: #fff;
}.forms .desc {text-align: center;color: #999;font-size: 26rpx;
}

优秀博文:
小程序获取表单输入值

【微信小程序】表单提交验证及获取表单输入的值相关推荐

  1. 微信小程序(第二十二章)- 表单数据提交

    微信小程序(第二十二章)- 表单数据提交 问题 实现步骤 问题 什么时候(怎样)提交数据? 当点击 form 表单中 form-type 为 submit 的 button 组件时,会将表单组件中的 ...

  2. 微信小程序中的正则验证、手机号验证随笔

    微信小程序中的正则验证.手机号验证随笔 需求:小程序开发中的表单提交,涉及到手机号验证,必填项验证等问题 微信小程序中不通过操作DOM节点来实现验证,因此绝了我想要通过节点直接获取值进行验证的想法 $ ...

  3. 微信小程序各错误码及原因自用表

    微信小程序各错误码及原因自用表 错误号 错误原因 -401001 无权限使用 API -401002 API 传入参数错误 -401003 API 传入参数类型错误 -402001 检测到循环引用 - ...

  4. 微信小程序原生接入腾讯云im(单聊,列表,聊天界面,自定义消息,自动回复)

    微信小程序原生接入腾讯云im(单聊,列表,聊天界面,自定义消息,自动回复) 发送图片语音消息传送→ 文章目录 1.项目需求 2.参考文档 3.效果图 4.初始化 集成SDK 5.登录 6.会话列表 7 ...

  5. 微信小程序-登陆注册滑块验证

    微信小程序-登陆注册滑块验证 一.创建自定义组件MoveVerify 二.在index页面使用 一.创建自定义组件MoveVerify MoveVerify.js Component({/*** 组件 ...

  6. 微信小程序如何进行登录授权和获取用户信息

    微信小程序如何进行登录授权和获取用户信息

  7. 微信小程序开发笔记 进阶篇④——getPhoneNumber 获取用户手机号码(小程序云)

    文章目录 一.前言 二.前端代码wxml 三.前端代码js 四.云函数 五.程序流程 一.前言 微信小程序开发笔记--导读 大部分微信小程序开发者都会有这样的需求:获取小程序用户的手机号码. 但是,因 ...

  8. 微信小程序开发笔记 进阶篇⑤——getPhoneNumber 获取用户手机号码(基础库 2.21.2 之前)

    文章目录 一.前言 二.前端代码wxml 三.前端代码js 四.后端java 五.程序流程 六.参考 一.前言 微信小程序开发笔记--导读 大部分微信小程序开发者都会有这样的需求:获取小程序用户的手机 ...

  9. 微信小程序--在app.js 和其他页面中更改globalData的值

    微信小程序--在app.js 和其他页面中更改globalData的值 app.js中修改 其他页面 app.js中修改 在app.js中,应当在小程序初始化完成以后再更改全局变量的值,即在onLau ...

最新文章

  1. 不想被问年终奖?2018年春节自救攻略来了!
  2. 字符串工具类---StringUtils
  3. mysql安装下载的缓存文件_mysql的安装
  4. K8s入门教程|这个给集群搞硬装的才是幕后英雄
  5. 【翻译】在Ext JS应用程序中构建可维护的控制器
  6. Hive - Create TableDrop Table ALTER Table(中)
  7. ASP.NET MVC 随手记
  8. C++/C代码审查表
  9. vsftpd pam_mysql_vsftpd+mysql+pam虚拟用户无法登录ftp服务器,请给位大侠帮忙!
  10. nohup的程序能不能再转到前台查看啊?_小程序开发之路入门
  11. fm足球经理Football Manager 2022 for mac(真实模拟游戏)中文版
  12. php png 透明缩略图,php生成图片缩略图,支持png透明
  13. 基于ffmpeg的h264播放器无法播放HI3516开发板保存的h264码流的问题
  14. 如何使用FlashgameMaster修改游戏
  15. 计算机中1024换算单位,数据换算(计算机中数据的单位换算)
  16. 计算机网络位置拒绝访问,Win10无法访问D盘提示位置不可用 拒绝访问的解法
  17. 各国家 MCC 和 MNC 列表2
  18. 解题:POI 2009 Lyz
  19. 关于ORACLE PLSQL读文件
  20. 将HTML代码转换为图片

热门文章

  1. 2020年全球云计算市场增速放缓 我国逆势增长56.6%
  2. 【福利时刻】Java面试题84集系列全集!有需要的小伙伴赶紧过来保存啦!
  3. 深入Java虚拟机(2)——Java的平台无关性
  4. 视频美颜SDK在直播领域的应用与挑战
  5. 万花筒云教育—安卓闭源后国产手机怎么办?
  6. signature=f7a4b29b93ef2b36608792fdef7f454a,高清剧场
  7. elementui table expand 修改数据
  8. 自制5V电源给手机充电时注意
  9. python3爬取微信通讯录信息并保存头像
  10. 计算机网络课程优势,计算机网络课程教学大纲.doc