微信小程序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 相关文章推荐
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 Javascript
Knockoutjs的环境搭建教程
Nov 26 Javascript
javascript级联下拉列表实例代码(自写)
May 10 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
Jul 08 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
Sep 18 Javascript
react-redux中connect()方法详细解析
May 27 Javascript
浅谈JS中的反柯里化( uncurrying)
Aug 17 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
详解vue移动端项目代码拆分记录
Mar 15 Javascript
vue滑动吸顶及锚点定位的示例代码
May 10 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
Nov 30 Javascript
js中延迟加载和预加载的具体使用
Jan 14 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使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
javascript:文字不间断向左移动的实例代码
2013/08/08 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
jQuery插件ajaxfileupload.js实现上传文件
2020/10/23 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
Python中正则表达式的详细教程
2015/04/30 Python
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
python正则表达式面试题解答
2020/04/28 Python
在python中bool函数的取值方法
2018/11/01 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
拉丁舞学习者的自我评价
2013/10/27 职场文书
工作的心得体会
2013/12/31 职场文书
暑期实践思想汇报
2014/01/06 职场文书
运动会入场词60字
2014/02/15 职场文书
行政专员的岗位职责
2014/03/10 职场文书
技术合作协议书范本
2014/04/18 职场文书
新闻人物通讯稿
2014/10/09 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers