微信小程序提交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 相关文章推荐
js 实现无缝滚动 兼容IE和FF
Jul 15 Javascript
js加入收藏以及使用Jquery更改透明度
Jan 26 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
Aug 18 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
Jun 03 Javascript
聊一聊JS中的prototype
Sep 29 Javascript
react.js使用webpack搭配环境的入门教程
Aug 14 Javascript
Vue 中的compile操作方法
Feb 26 Javascript
微信小程序实现团购或秒杀批量倒计时
Nov 01 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
vue-router实现嵌套路由的讲解
Jan 19 Javascript
NestJs 静态目录配置详解
Mar 12 Javascript
node中IO以及定时器优先级详解
May 10 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
德生PL330的评价与改造
2021/03/02 无线电
PHP中for循环语句的几种变型
2006/11/26 PHP
php处理restful请求的路由类分享
2014/02/27 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
webpack入门必知必会
2017/01/16 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
[00:19]CN DOTA NEVER DIE!VG夺冠rOtK接受采访
2019/12/23 DOTA
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
python的mysql数据库建立表与插入数据操作示例
2019/09/30 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
百日安全生产活动总结
2014/07/05 职场文书
私人委托书格式
2014/09/10 职场文书
三方股份合作协议书
2014/10/13 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
董事长岗位职责
2015/02/13 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
区域销售大会开幕词
2016/03/04 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书