微信小程序提交form操作示例
本文实例讲述了微信小程序提交form操作。分享给大家供大家参考,具体如下:
在微信小程序中也存在form组件,bindsubmit这个属性可以用于携带form中的数据触发submit事件,它鞋带的参数形式如下:
event.detail={value:{'name':'value'},formId:''}
其中的name,和一般的网页一样,将需要上传的input等表单组件设置name属性,在这里,form传递的参数,使用name作为一个key
提交动作是由
表单中formType为submit的组件来控制的,示例如下:开始计算
当点击这个button时,会触发bindsubmit绑定的js文件中的事件,例如:
开始计算
在这里,点击这个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变量 }) varthat=this;//在success部分,this失效,需要先将this赋值给that,通过调用that代替this比如:that.setData({}) wx.request({//使用微信提供的wx.request完成信息交互 url:config.service.XXXX,//url的值统一定义在了configuration.js中,在本js开始时varconfig=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的内容:
functionjson2Form(json){ varstr=[]; for(varpinjson){ str.push(encodeURIComponent(p)+"="+encodeURIComponent(json[p])); } returnstr.join("&"); } module.exports={ json2Form:json2Form, }
wx.request也可以使用功能json格式传输数据,但是个人后台不太习惯处理json文件
希望本文所述对大家微信小程序开发有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。