微信小程序-表单提交和校验

一、使用vant组件生成如下页面

在这里插入图片描述
二、前端代码如下

 <form bindsubmit="submitForm"><view class="cell-group"><van-cell-group><van-field value="{{ title }}" label="商品名称" placeholder="请输入商品名称" input-align="left" bind:change="onChangeTitle" /><van-field value="{{ price }}" label="商品价格" placeholder="请输入商品价格" input-align="left" bind:blur="onChangePrice" /><van-field value="{{ desc }}" label="商品描述" placeholder="请输入商品描述" input-align="left" bind:change="onChangeDesc" /></van-cell-group></view><view class="image-container"><label for="productImage"></label><van-button icon="plus" type="primary" bindtap="chooseImage">点击选择图片</van-button><view class="image-preview-container"><image wx:if="{{productImage}}" src="{{productImage}}" mode="aspectFit" bindtap="previewImage"></image></view></view><view class="form-buttons"><van-button plain type="primary" formType="submit">确定</van-button><van-button plain type="info">取消</van-button></view></form>
用form块宝珠van-cell-group组件, 
van-button 中from-type= "submit"
form表单的bindsubmit="submitForm" 是js中执行方法
三、对于每一个van-field 组件都有自己的绑定函数

当输入信息后则会把数据实时绑定到js中的data中

bind:change=“onChangeTitle” // 改变时
bind:blur=“onChangePrice” // 焦点变化时

四、如果需要校验,也可以在onChangeTitle,或者最后提交表单时候统一处理
  data: {productImage: null , // 存储选择的商品图片的临时路径title: '',price: '',desc: '',url: ''},
onChangeTitle(event) {this.setData({title: event.detail});},onChangePrice(e) {var value = e.detail.value;// 验证是否数字、正整数或小数var reg = /^\d+(\.\d+)?$/;if (!reg.test(value)) {wx.showToast({title: '请输入数字,可以是正整数或小数',icon: 'none',duration: 3000});this.setData({price: ''});}// 这块是正常逻辑需要赋值this.setData({price: value});},

表单提交

submitForm: function (e) {console.log("form发生了绑定事件,数据为 ",this.data)if(!this.data.title){wx.showToast({title: '商品名称不能为空',icon : 'none',duration: 2000})return;}if(!this.data.price){wx.showToast({title: '商品price不能为空',icon : 'none',duration: 2000})return;}if(!this.data.desc){wx.showToast({title: '商品desc不能为空',icon : 'none',duration: 2000})return;}if(!this.data.url){wx.showToast({title: '商品图片不能为空',icon : 'none',duration: 2000})return;}let publishData = {title:this.data.title,price:this.data.price,desc: this.data.desc,image :this.data.url,userId: `${userId}`}

初学前端,不对处请指正!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/479040.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 浮点数二分 数的三次方根

给定一个浮点数 n &#xff0c;求它的三次方根。 输入格式 共一行&#xff0c;包含一个浮点数 n 。 输出格式 共一行&#xff0c;包含一个浮点数&#xff0c;表示问题的解。 注意&#xff0c;结果保留 6 位小数。 数据范围 −10000≤n≤10000 输入样例&#xff1a; 1000.00…

Golang - 使用CentOS 7 安装Golang环境

文章目录 操作步骤 操作步骤 为在CentOS 7上安装Go语言环境&#xff0c;可以按照以下步骤进行操作&#xff1a; 下载Go语言包&#xff1a; 从官方网站 https://golang.org/dl/ 下载适用于Linux的Go语言包。 解压缩Go语言包&#xff1a; 使用以下命令解压缩下载的Go语言包 […

基于Springboot+Vue的在线考试系统源码

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着现代教育和职业培…

学习Vue3的第二天

目录 Vue3核心语法1 OptionsAPI 与 CompositionAPI setup函数 setup 概述 setup 语法糖 ref 创建&#xff1a;基本类型的响应式数据 reactive 创建&#xff1a;对象类型的响应式数据 ref 创建&#xff1a;对象类型的响应式数据 ref 对比 reactive toRefs 与 toRef c…

Linux【动静态库】

目录 1.软硬链接 1.1软硬链接的语法 1.2理解软硬链接 1.3目录文件的硬链接 1.4应用场景 1.5ACM时间 2.动静态库 2.1认识库 3.制作静态库 3.1静态库打包 3.2静态库的使用 4.制作动态库 4.1动态库打包 4.2动态库的链接使用 4.3动态库的链接原理 总结&#xff1…

J-Flash J-Link解锁GD32单片机

目录 前言一、使用J-Flash工具解锁单片机1.打开J-Flash软件2.创建工程3.连接 J-Link4.解锁Flash 二、使用J-Link STM32 Unlock解锁GD321.打开J-Link STM32 Unlock工具2.命令行输入3.解锁成功4.验证 三、附录总结&#x1f600;*授人鱼,更要授人以渔&#xff0c;希望猿一的本篇博…

【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),流程描述篇

欢迎来到《小5讲堂》 大家好&#xff0c;我是全栈小5。 这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对知识点的理解和掌握。…

代码随想录算法训练营29期|day55 任务以及具体安排

第九章 动态规划part12 309.最佳买卖股票时机含冷冻期 class Solution {public int maxProfit(int[] prices) {//0代表持股票&#xff0c;1代表保持卖出状态&#xff0c;2代表卖出股票。3代表冷冻int[][] dp new int[prices.length][4];dp[0][0] -prices[0];for(int i 1 ; …

【Java】图解 JVM 垃圾回收(二):垃圾收集器、Full GC

图解 JVM 垃圾回收&#xff08;二&#xff09; 1.垃圾收集器1.1 内存分配与回收策略1.2 Serial 收集器1.3 Parallel Scavenge 收集器1.4 ParNew 收集器1.5 CMS 收集器1.6 G1 收集器 2.Full GC 的触发条件 1.垃圾收集器 Java 虚拟机提供了多种垃圾回收器&#xff0c;每种回收器…

运维:自主编码实现运维自动化的转型之旅

引言 随着业务系统和底层中间件服务的复杂度不断增加&#xff0c;传统手工运维方式面临着诸多挑战和限制。人工编写运维脚本显得非常低效&#xff0c;同时手动执行运维操作存在着巨大风险。在此情况下&#xff0c;推动运维自动化成为运维人员必须落地实施的工作。运维同学如果…

机器学习基础(一)理解机器学习的本质

导读&#xff1a;在本文中&#xff0c;将深入探索机器学习的根本原理&#xff0c;包括基本概念、分类及如何通过构建预测模型来应用这些理论。 目录 机器学习 机器学习概念 相关概念 机器学习根本&#xff1a;模型 数据的语言&#xff1a;特征与标签 训练与测试&#xf…

2023年全球前端大技术大会(GMTC北京站2023):核心内容与学习收获(附大会核心PPT下载)

此次峰会是一次内容丰富、有深度和广度的技术盛会。参会者不仅可以了解前端技术的最新发展和未来趋势&#xff0c;还可以与业界专家交流心得&#xff0c;提升自己的技能和能力。同时&#xff0c;此次大会也促进了全球前端社区的交流和合作&#xff0c;推动了前端技术的创新和发…