2019独角兽企业重金招聘Python工程师标准>>>

我们知道,如果我们直接给 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 中观察值,再来取。

转载于:https://my.oschina.net/yanyaya/blog/1610907

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

  1. 小程序怎么处理轮训ajax,微信小程序中使用Promise进行异步流程处理的实例详解...

    微信小程序中使用Promise进行异步流程处理的实例详解 我们知道,JavaScript是单进程执行的,同步操作会对程序的执行进行阻塞处理.比如在浏览器页面程序中,如果一段同步的代码需要执行很长时间( ...

  2. 微信小程序表单提交php存储,微信小程序实现form表单本地储存数据

    本文实例为大家分享了微信小程序实现form表单本地储存数据的具体代码,供大家参考,具体内容如下 效果图: 主要利用小程序的getStorage来实现异步本地储存. 小程序目录结构如下: 新建项目前,为 ...

  3. 微信小程序+SpringMVC图文表单提交(包括前后端代码)

    文章目录 前言 一.基本功能说明 二.小程序前端 三.SpringMVC后端 总结 前言 本项目使用微信小程序+SpringMVC搭建.这里展示的是其中表单提交的部分(图片和文字).本文包括前后端关键 ...

  4. 微信小程序之from表单提交数据到PHP后台

    主要内容:实现微信小程序与PHP后台之间的数据传递 本文通过from表单提交到后台存入数据库来展现 需要注意的有: 勾选 代码如下: demo1.wxml <!--pages/demo1/dem ...

  5. 微信小程序开发——form表单

    WeChat小程序交流(QQ群:769977169) 效果图 代码示例 1.xxx.wxml <form bindsubmit='submitClick' bindreset='resetCli ...

  6. php做一个详情页面,微信小程序实现头条新闻详情页图文显示功能的实例详解

    众所周知,微信小程序编译好后是不能解析HTML标签的,那么问题来了:后台中通过所见即所得编辑器编辑的图文并茂的文章如何在微信小程序端也能显示呢?这就是本文要讨论的主题. 本文内容如下 一.如何解析HT ...

  7. 小程序 | 微信小程序from报名表单提交至数据库(含js提交函数)

    效果图 index.wxml <form bindsubmit="formSubmit" bindreset="formReset"><!-- ...

  8. 微信小程序的动态表单,实现房屋租赁的多租客录入

    0 前言 本文将介绍如何使用微信小程序编写动态表单,最终实现房屋租赁系统中多租客录入的业务. 在阅读本文前,您需要对微信小程序的开发有一个初步的了解,以便更容易的学会开发动态表单. 作者主页:Desi ...

  9. # Ajax提交Form表单以及后端取值(java)

    Ajax提交Form表单以及后端取值(java) 1.ajax提交form表单:提交的按钮οnclick="denglu()"时候触发ajax方法 <script>fu ...

最新文章

  1. Excel导入SQL SERVER,数字和字符会被系统自动置为NULL的解决方法
  2. 教你用java统计目录下所有文档的词频
  3. JavaWeb三大组件之Servlet
  4. jenkins使用哪个版本号_Linux下安装JDK及jenkins
  5. 实体类在set字段时报空指针异常
  6. nlu 意图识别_在NLU中,您无视危险的意图
  7. 汇编程序实现快速排序_用Python 3实现快速排序和插入排序代码详解
  8. 快速学会关键路径、最早开始时间和最晚开始时间的计算
  9. Android 键值映射
  10. Google Adsense西联快汇收款流程
  11. 中国招聘网站调研报告
  12. HTML 5:绘制旋转的太极图
  13. 28岁的我坐在医院的轮椅上大哭
  14. has been blocked by CORS policy: Response to preflight request doesn‘t pass access control check
  15. 安防行业经销商渠道管理系统:完善经销商管控,助力企业做好渠道管理
  16. OneNav一为主题魔改教程(一):优化后台新增网站时调用API却没有赋好值的BUG,以减少复制编辑工作量--一梦
  17. LOL云顶开心果、阿米、夜猫
  18. 百度违规屏蔽关键词判定标准查询工具
  19. 默然说话20160312
  20. Detail enhancement for high-dynamic-range infrared images based onguided image filter 阅读笔记

热门文章

  1. java 简单获取Excel表格内容(初学者)
  2. Oracle创建视图实现获取当前数据所在的页数,这里以每页2条数据分页
  3. 215. 数组中的第K个最大元素 BFPRT最牛解法
  4. Redis:15---键迁移(move、dump、restore、migrate)
  5. html5语句大全,html5基础语句(学习)
  6. 窗口位置按钮取消_VBA002:“宏”的保存位置有哪几种方式?
  7. 如何读取指针指向的地址空间呢?
  8. 解决ipfs 出现Error: can‘t publish while offline: pass `--allow-offline` to override的问题
  9. 英语口语 week14 Friday
  10. C语言指针和数组概述