微信小程序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 相关文章推荐
jQuery操作input type=radio的实现代码
Jun 14 Javascript
JavaScript中的Function函数
Aug 27 Javascript
Bootstrap基本布局实现方法详解
Nov 25 Javascript
简单实现JS计算器功能
Dec 21 Javascript
JS中静态页面实现微信分享功能
Feb 06 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
Apr 27 jQuery
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 jQuery
微信小程序 跳转传递数据的实例
Jul 06 Javascript
Mongoose实现虚拟字段查询的方法详解
Aug 15 Javascript
JS实现点击链接切换显示隐藏内容的方法
Oct 19 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
Dec 28 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
May 02 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 register_shutdown_function()函数的使用示例
2015/06/23 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
javascript学习笔记之函数定义
2015/06/25 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
javascript实现弹出层效果
2019/12/10 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
护理职业生涯规划书
2014/01/24 职场文书
贷款委托书范本
2014/04/08 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
python tkinter实现定时关机
2021/04/21 Python
分享python函数常见关键字
2022/04/26 Python
Python 视频画质增强
2022/04/28 Python