微信小程序提交form操作示例


Posted in Javascript onDecember 30, 2018

本文实例讲述了微信小程序提交form操作。分享给大家供大家参考,具体如下:

在微信小程序中也存在form组件,bindsubmit这个属性可以用于携带 form 中的数据触发 submit 事件,它鞋带的参数形式如下:

event.detail = {value : {'name': 'value'} , formId: ''}

其中的name,和一般的网页一样,将需要上传的input等表单组件设置name属性,在这里,form传递的参数,使用name作为一个key

提交动作是由<form/> 表单中 formType 为 submit 的 <button/> 组件来控制的,示例如下:

<button form-type="submit" class='search'><span>开始计算</span></button>

当点击这个button时,会触发bindsubmit绑定的js文件中的事件,例如:

<form bindsubmit="formSubmit" bindreset="formReset"> 
<input type="text" name="price"/>
<button form-type="submit" class='search'><span>开始计算</span></button>
</form>

在这里,点击这个button则会调用js中的formSubmit,同时在formSubmit事件中可以用e.detail.value.price的方式获取name为price的组件的value值,js中formSubmit的定义如下:

formSubmit: function (e) {
 this.setData({
  price: e.detail.value.price, //用e.detail.value.price,获取了form中name为price组件的value,赋值给js文件data中定义的price变量
 })
 var that = this; //在success部分,this失效,需要先将this赋值给that,通过调用that代替this比如:that.setData({})
 wx.request({ //使用微信提供的wx.request完成信息交互
  url: config.service.XXXX, //url的值统一定义在了configuration.js中,在本js开始时var config = require('../../config');引入
  header: {
   "Content-Type": "application/x-www-form-urlencoded" //使用form方式传递参数
  },
  method: "POST",
  dataType:"json",
  data: Util.json2Form({ price: this.data.price }), //将要传递的数据使用util.js中的json2Form转为标注的form数据格式
  success: function (res) { //res是返回的数据,success是响应成功后执行部分
   console.log(res.data) //显示res中携带的数据
  },
  complete: function (res) { // complete类似finally,最后必然执行
   if (res == null || res.data == null) { //如果返回值为空,则提示网络请求失败
   console.error('网络请求失败');
   return;
   }
  }
  })
 },

util.js的内容:

function json2Form(json) {
 var str = [];
 for (var p in json) {
 str.push(encodeURIComponent(p) + "=" + encodeURIComponent(json[p]));
 }
 return str.join("&");
}
module.exports = {
 json2Form: json2Form,
}

wx.request也可以使用功能json格式传输数据,但是个人后台不太习惯处理json文件

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
JXTree对象,读取外部xml文件数据,生成树的函数
Apr 02 Javascript
Node.js实战 建立简单的Web服务器
Mar 08 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 Javascript
jquery制作 随机弹跳的小球特效
Feb 01 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
Jun 24 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
基于jQuery实现表格的排序
Dec 02 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
Feb 27 Javascript
详解微信第三方小程序代开发
Jun 23 Javascript
使用vue实现grid-layout功能实例代码
Jan 05 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
Mar 07 Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 Javascript
bootstrap下拉分页样式 带跳转页码
Dec 29 #Javascript
详解vue 兼容IE报错解决方案
Dec 29 #Javascript
玩转Koa之koa-router原理解析
Dec 29 #Javascript
Bootstrap Paginator+PageHelper实现分页效果
Dec 29 #Javascript
玩转Koa之核心原理分析
Dec 29 #Javascript
如何从0开始用node写一个自己的命令行程序
Dec 29 #Javascript
bootstrap与pagehelper实现分页效果
Dec 29 #Javascript
You might like
学习使用curl采集curl使用方法
2012/01/11 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
Javascript开发包大全整理
2006/12/22 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
js异步上传多张图片插件的使用方法
2018/10/22 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
浅谈Python中带_的变量或函数命名
2017/12/04 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
python解析yaml文件过程详解
2019/08/30 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
装潢设计实习自我鉴定
2013/09/19 职场文书
2014年三万活动总结
2014/04/26 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
新员工试用期自我评价
2015/03/10 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA
尝试使用Python爬取城市租房信息
2022/04/12 Python