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

本文介绍了在微信小程序中如何实现表单提交时的省市区选择器验证,通过条件判断显示提示或已选内容,并将选择值绑定到隐藏的input框,确保在表单提交时能获取到正确信息。

效果图:
在这里插入图片描述

说明:请选择房屋所在城市的效果是省市区选择器,刚开始我们可能直接在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>
    
### 关于 WeUI 表单的使用教程和样式示例 WeUI 是由微信官方推出的一套基于移动端界面的 UI 库,旨在提供统一的视觉风格和交互体验。以下是有关 WeUI 表单使用的详细信息以及一些常见的样式示例。 #### 1. 基本结构 WeUI 提供了一组预定义的类名用于构建表单元素。这些类可以帮助开发者快速创建美观且功能强大的表单组件。通常情况下,一个标准的 WeUI 表单会包含以下几个部分: - **`<form>`** 容器:包裹整个表单区域。 - **`.weui-cells_form`** 类:表示一组输入或其他控件。 - **`.weui-cell`** 类:代表每一个单独的单元格(即每一行)。 - **`.weui-label`** 类:用来设置标签文字。 - **`.weui-input`** 类:应用于 `<input>` 元素以适配 WeUI 风格。 具体实现如下所示[^1]: ```html <form> <div class="weui-cells weui-cells_form"> <!-- 输入 --> <div class="weui-cell"> <div class="weui-cell__hd"><label class="weui-label">用户名</label></div> <div class="weui-cell__bd"> <input class="weui-input" type="text" placeholder="请输入用户名"/> </div> </div> <!-- 密码 --> <div class="weui-cell"> <div class="weui-cell__hd"><label class="weui-label">密码</label></div> <div class="weui-cell__bd"> <input class="weui-input" type="password" placeholder="请输入密码"/> </div> </div> <!-- 单选按钮 --> <div class="weui-cell weui-check__label"> <div class="weui-cell__hd"> <input type="radio" name="gender" value="male" checked="" class="weui-check"> <i class="weui-icon-checked"></i> </div> <div class="weui-cell__bd">男</div> </div> <div class="weui-cell weui-check__label"> <div class="weui-cell__hd"> <input type="radio" name="gender" value="female" class="weui-check"> <i class="weui-icon-checked"></i> </div> <div class="weui-cell__bd">女</div> </div> </div> <!-- 提交按钮 --> <button class="weui-btn weui-btn_primary" type="submit">提交</button> </form> ``` 以上代码片段展示了如何利用 WeUI 创建基本的表单布局,其中包括文本输入、密码输入以及单选按钮等常用控件[^1]。 #### 2. 自定义校验与事件处理 除了静态展示外,在实际开发过程中还需要考虑数据验证逻辑及用户操作响应等功能需求。对于这种情况,可以通过 JavaScript 来增强用户体验并确保数据有效性。例如当点击“提交”按钮时触发特定函数完成进一步动作: ```javascript document.querySelector('form').addEventListener('submit', function(event){ event.preventDefault(); //阻止默认行为 const username = document.querySelector('.weui-input[type=text]').value; const password = document.querySelector('.weui-input[type=password]').value; if(!username || !password){ alert("请填写完整的登录信息!"); return false; } }); ``` 此脚本监听了 form 的 submit 事件,并在检测到未填项时给出提示消息[^1]. #### 3. 更多功能扩展 如果希望更便捷地集成 WeUI 到自己的项目当中,则可以参考某些架下的封装版本比如 WePY 。它允许使用者仅需编写一次业务逻辑即可兼容多个平台 (如 H5 页面 和 微信小程序)[^2]. 下面是一个简单的例子链接至其官方仓库页面以便获取更多细节资料: [wepy-weui-demo](https://gitcode.com/gh_mirrors/we/wepy-weui-demo). ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值