微信小程序中form 表单提交和取值实例详解


Posted in Javascript onApril 20, 2017

微信小程序中form 表单提交和取值实例详解

我们知道,如果我们直接给 input 添加 bindinput,比如:<input bindinput="onUsernameInput" />,那么可以在 onUsernameInput 中直接使用 e.detail.value,即:

onUsernameInput : function(e) {
  e.detail.value;
}

但是,如果有多个输入控件,我们不可能为每个控件添加 bindinput、bindchange 这类方法来获取值。我们得这样做:

第一步、添加 from 控件,并为其指定 bindsubmit 属性值。
第二步、添加输入控件到 form 中,并为其指定 name 属性值。
第三步、添加 button 控件,并为其指定 form-type="submit"。
第四步、在 js 中取值时,用 e.detail.value.xxx 或 e.detail.value["xxx"],其中 xxx 为 name 属性值。

.wxml 代码

<form bindsubmit="reg">

  <view>用户:<input type="text" name="username" /></view>

  <view>密码:<input password name="password" /></view>

  <view>兴趣:<checkbox-group name="cb">
    <label><checkbox value="A" />乒乓球</label>
    <label><checkbox value="B" checked="false" />羽毛球</label>
    <label><checkbox value="C" checked="{{checked}}" />排球</label>
  </checkbox-group></view>

  <view>级别:<radio-group name="r">
    <label><radio value="a" />初级</label>
    <label><radio value="b" />中级</label>
    <label><radio value="c" />高级</label>
  </radio-group></view>

  <view><button type="primary" form-type="submit">注册</button></view>

</form>

.js 代码

reg: function(e) {
  console.log(e.detail.value);
  
  wx.showToast({
    title: e.detail.value["cb"].join(","),
    icon: "success",
    duration: 2000
  });
}

重要说明

<input type="text" 中的 type 和 HTML 中的不同,

微信小程序的 input 有个属性叫 type,这个 type 有几个可选值:

text:不必解释
number:数字键盘(无小数点)
idcard:数字键盘(无小数点、有个 X 键)
digit:数字键盘(有小数点)

注意:number 是无小数点的,digit 是有小数点的。我严重怀疑这是个 BUG。

<input password /> 表示密码框(个人认为太怪异,不如直接叫 password 标签的好)。

“羽毛球”那一项,我们是故意写作 checked="false" 的,我们试图使之初始不选中,但是不如我们愿,它却选中了,这和 HTML 一样,并不认 checked 属性值,只认有没有这个标记。不过如果我们使用 {{}} 则不一样,比如“排球”一项,选中与否就受 data.checked 的影响。

input 的取值如前面所述,用 e.detail.value.xxx 或 e.detail.value["xxx"],其中 xxx 为 name 属性。

checkbox 的取值也是类似 input,不过 xxx 为 checkbox-group 的 name,取出来的值是数组,由选中项的 value 组成,比如选中了“乒乓球”、“排球”,结果就是:["1", "3"]。特别说明,这个顺序与我们选择的先后有关,比如我们先选择“排球”,再选择“乒乓球”,结果就是["3", "1"]。

radio 的取值和 input 一样,返回的是选中的那一项的 value,没有选中项就是 ""。

如果不知道值类型,也可用 console.log(e.detail.value); 将所有值输出来,然后在调试 Console 中观察值,再来取。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
Jquery升级新版本后选择器的语法问题
Jun 02 Javascript
IE8下String的Trim()方法失效的解决方法
Nov 08 Javascript
IE6浏览器中window.location.href无效的解决方法
Nov 20 Javascript
Javascript类型转换的规则实例解析
Feb 23 Javascript
Angular.js中定时器循环的3种方法总结
Apr 27 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
基于Vuex无法观察到值变化的解决方法
Mar 01 Javascript
Vue用v-for给src属性赋值的方法
Mar 03 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
May 13 Javascript
vue中vee validate表单校验的几种基本使用
Jun 25 Javascript
JavaScript私有变量实例详解
Jan 24 Javascript
Fetch超时设置与终止请求详解
May 18 Javascript
ES6新特性一: let和const命令详解
Apr 20 #Javascript
javascript 正则表达式分组、断言详解
Apr 20 #Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
Apr 20 #jQuery
JS利用cookies设置每隔24小时弹出框
Apr 20 #Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
Apr 20 #Javascript
addEventListener()与removeEventListener()解析
Apr 20 #Javascript
详解用vue-cli来搭建vue项目和webpack
Apr 20 #Javascript
You might like
php中计算时间差的几种方法
2009/12/31 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
php数据访问之增删改查操作
2016/05/09 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
Python判断文件和文件夹是否存在的方法
2015/05/21 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
django2.0扩展用户字段示例
2019/02/13 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
python实现IOU计算案例
2020/04/12 Python
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
社会实践自我鉴定
2013/11/07 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
试用期转正鉴定评语
2014/01/27 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
放假通知
2015/04/14 职场文书
学校会议通知范文
2015/04/15 职场文书
交通事故案件代理词
2015/05/23 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server