微信小程序bindinput与bindsubmit的区别实例分析


Posted in Javascript onApril 17, 2019

本文实例讲述了微信小程序bindinput与bindsubmit的区别。分享给大家供大家参考,具体如下:

实际上的话,bindinput还有bindsubmit是没有任何的可比性的,但是两者还是常常被人一起比较,为啥?

比如一个简单的搜索框,你是愿意选择使用bindinput还是使用bindsubmit?,虽然一个是表单,一个是文本输入框,但是两者都有一个共同点,就是可以去获取到用户的输入信息。这个时候,问题来了,区别在哪儿?

最简单的一段代码在下面:

<form bindsubmit='input1input'>
 <input name="input1" placeholder='这个是输入框' style='border:1rpx solid #000;'></input>
 <button form-type="submit">提交按钮</button>
</form>
<input bindinput='input2input' placeholder='这个是输入框' style='margin-top:200rpx;border:1rpx solid #000;'></input>
<button>提交按钮</button>
// pages/input/input.js
Page({
 data: { input1: "", input2: "" },
 input1input: function (e) {
  console.log(e);
  console.log(e.detail.value.input1)
 },
 input2input: function (e) {
  console.log(e);
  console.log(e.detail.value);
 }
})

甚是简单,那么问题来了,区别在哪儿?

当然,暂时的区别只有一个,就是console.log比较多,哈哈,开玩笑的。根据深圳那边客户的反应,说是使用input的时候,移动光标到一个地方后,输入一个文字,会重新移动光标的尾部,当然,不是上面的那些代码了,上面的代码是没问题的

有问题的是下面的代码:

// pages/input/input.js
Page({
 data: { input1: "this is the value for input1", input2: "this is the value for input2" },
 input1input: function (e) {
  console.log(e);
  console.log(e.detail.value.input1);
  this.setData({ input1: e.detail.value.input1 })
 },
 input2input: function (e) {
  console.log(e);
  console.log(e.detail.value);
  this.setData({ input2: e.detail.value })
 }
})
<form bindsubmit='input1input'>
 <input value='{{input1}}' name="input1" placeholder='这个是输入框' style='border:1rpx solid #000;height:100rpx;'></input>
 <button form-type="submit">提交按钮</button>
</form>
<input value="{{input2}}" bindinput='input2input' placeholder='这个是输入框' style='height:100rpx;margin-top:200rpx;border:1rpx solid #000;'></input>
<button>提交按钮</button>

其实原因很简单,就在一个地方,就是刷新界面的this.setData这而,为啥?因为你刷新后,value值修改,然后呢?

然后页面就刷新了,再然后呢?再然后就是因为你设置的是光标自动移动到最后一步,所以,最好的话是使用input的时候要小心点咯,当然我不是说使用input没有使用submit好,只是适应场景不同而已,比如没必要使用bindinput的时候去刷新界面,或则说我个人比较偏爱使用bindsbmit吧,。

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

Javascript 相关文章推荐
让你的博文自动带上缩址的实现代码,方便发到微博客上
Dec 28 Javascript
js数组中如何随机取出一个值
Jun 13 Javascript
jquery简单图片切换显示效果实现方法
Jan 14 Javascript
如何用javascript计算文本框还能输入多少个字符
Jul 29 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
Nov 21 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
AngularJS表单验证中级篇(3)
Sep 28 Javascript
JS实现动画兼容性的transition和transform实例分析
Dec 13 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
vue分类筛选filter方法简单实例
Mar 30 Javascript
原生js实现自定义消息提示框
Nov 19 Javascript
类和原型的设计模式之复制与委托差异
Jul 07 Javascript
vue 项目 iOS WKWebView 加载
Apr 17 #Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 #Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
Apr 17 #Javascript
抖音上用记事本编写爱心小程序教程
Apr 17 #Javascript
基于JS实现web端录音与播放功能
Apr 17 #Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
Apr 17 #Javascript
vue component 中引入less文件报错 Module build failed
Apr 17 #Javascript
You might like
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
2014/03/07 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
[01:40]2014DOTA2国际邀请赛 三冰SOLO赛后采访恶搞
2014/07/09 DOTA
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
中专毕业生自荐信范文
2013/11/28 职场文书
数控个人求职信范文
2014/02/03 职场文书
三方协议书范本
2014/04/22 职场文书
招标承诺书
2014/08/30 职场文书
小班教师个人总结
2015/02/05 职场文书
工程部部长岗位职责
2015/02/12 职场文书
后天观后感
2015/06/08 职场文书
初婚未育证明样本
2015/06/18 职场文书
聘任书格式及范文
2015/09/21 职场文书
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python
详解在OpenCV中如何使用图像像素
2022/03/03 Python
python中数组和列表的简单实例
2022/03/25 Python
Go语言编译原理之变量捕获
2022/08/05 Golang