微信小程序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 相关文章推荐
使用prototype.js进行异步操作
Feb 07 Javascript
JavaScript游戏之优化篇
Nov 08 Javascript
JavaScript中读取和保存文件实例
May 08 Javascript
JavaScript检测上传文件大小的方法
Jul 22 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
一道常被人轻视的web前端常见面试题(JS)
Feb 15 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
Jul 20 Javascript
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
AngularJS标签页tab选项卡切换功能经典实例详解
May 16 Javascript
vue实现的网易云音乐在线播放和下载功能案例
Feb 18 Javascript
JavaScript日期库date-fn.js使用方法解析
Sep 09 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简洁函数小结
2011/08/12 PHP
php中通过curl smtp发送邮件
2012/06/05 PHP
php的4种常用运行方式详解
2016/12/22 PHP
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
JavaScript设计模式之责任链模式实例分析
2019/01/16 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
python遍历类中所有成员的方法
2015/03/18 Python
django DRF图片路径问题的解决方法
2018/09/10 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
标记环介质访问控制协议
2016/03/27 面试题
法学函授自我鉴定
2014/02/06 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
初中生操行评语大全
2014/04/24 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
2015年售票员工作总结
2015/04/29 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS