微信小程序 input输入框控件详解及实例(多种示例)


Posted in Javascript onDecember 14, 2016

微信小程序 input输入框控件

今天主要详写一下微信小程序中的Input输入框控件,输入框在程序中是最常见的,登录,注册,获取搜索框中的内容等等都需要,同时,还需要设置不同样式的输入框,今天的代码中都要相应的使用。
首先主页面中将登录的样式进行了简单展示和使用,

代码如下:

<!--index.wxml-->

<!--如果在同一个form表单中创建了多个input输入框,可以给给每个输入框,创建自己的
name=“userName”属性,可以区别哪个输入框,并通过添加
属性提交:bindsubmit="方法名" 重置:bindreset="方法名",达到清除输入框内容的目的
js文件中的用法,e.detail.value.userName.length-->
<view class="itemView">用户名:
 <input class="input" name="userName" placeholder="请输入用户名" 
 bindinput="userNameInput"/>
 </view>
<view class="itemView">密 码:
 <input class="input" password placeholder="请输入密码"
 bindinput="passWdInput" />
 </view>
<view class="viewName" style="background-color:#fbf9fe">
 <button class="loginBtn" bindtap="loginBtnClick">登录</button>
 <button class="resetBtn" bindtap="resetBtnClick">清除</button>
</view>
<view>{{infoMess}}</view>
<view>{{userName}}</view>
<view>{{passWd}}</view>
<view class="viewName" style="margin-top: 60px;">
 <navigator url="Component/TextInput/TextInput">
 <text class="view-Name">各类型输入框展示</text>
 </navigator>
</view>

//index.js

//获取应用实例
var app = getApp()
Page({
 data: {
 infoMess: '',
 userName: '',
 userN:'',
 passWd: '',
 passW:''
 },
 //用户名和密码输入框事件
 userNameInput:function(e){
 this.setData({
 userN:e.detail.value
 })
 },
 passWdInput:function(e){
 this.setData({
 passW:e.detail.value
 })
 },
 //登录按钮点击事件,调用参数要用:this.data.参数;
 //设置参数值,要使用this.setData({})方法
 loginBtnClick:function(){
 if(this.data.userN.length == 0 || this.data.passW.length == 0){
 this.setData({
 infoMess:'温馨提示:用户名和密码不能为空!',
 })
 }else{
 this.setData({
 infoMess:'',
 userName:'用户名:'+this.data.userN,
 passWd:'密码:'+this.data.passW
 })
 }
 },
 //重置按钮点击事件
 resetBtnClick:function(e){
 this.setData({
 infoMess: '',
 userName: '',
 userN:'',
 passWd: '',
 passW:'',
 })
 },
 onLoad: function () {
 console.log('onLoad')
 var that = this
 //调用应用实例的方法获取全局数据
 app.getUserInfo(function(userInfo){
 //更新数据
 that.setData({
 userInfo:userInfo
 })
 })
 }
})

然后在第二个界面中显示了不同的样式和功能的input

<!--pages/index/Component/TextInput/TextInput.wxml-->
<view class="viewTitle">
 <text class="view-Name">TextInput输入框展示</text>
 <view class="lineView"></view>
</view>
<view class="section">
 <input class="input" placeholder-style="font-size:15px" 
 placeholder="自动聚焦弹出键盘,一个页面中只能有一个" auto-focus/>
</view>
<view class="section">
 <input class="input" placeholder="此处只有在点击下方按钮时才聚焦" focus="{{focus}}" />
</view>
<view class="section1">
 <button bindtap="bindButtonTap">使得输入框获取焦点</button>
</view>
<view class="section">
 <input class="input" maxlength="10" placeholder="最大输入长度10" />
</view>
<view class="section__title">你输入的是:{{inputValue}}</view>
<view class="section">
 <input class="input" bindinput="bindKeyInput" placeholder="输入同步到view中"/>
</view>
<view class="section">
 <input class="input" bindinput="bindReplaceInput" placeholder="连续的两个1会变成2" />
</view>
<view class="section">
 <input class="input" bindinput="bindHideKeyboard" placeholder="输入123自动收起键盘" />
</view>
<view class="section">
 <input class="input" type="number" placeholder="这是一个数字输入框" />
</view>
<view class="section">
 <input class="input" password type="text" placeholder="这是一个密码输入框" />
</view>
<view class="section">
 <input class="input" type="digit" placeholder="带小数点的数字键盘"/>
</view>
<view class="section">
 <input class="input" type="idcard" placeholder="身份证输入键盘" />
</view>
<view class="section">
 <input class="input" placeholder-style="color:red" placeholder="占位符字体是红色的" />
</view>
// pages/index/Component/TextInput/TextInput.js
Page({
 data: {
 focus: false,
 inputValue: ''
 },
 bindButtonTap: function() {
 this.setData({
 focus: true
 })
 },
 bindKeyInput: function(e) {
 this.setData({
 inputValue: e.detail.value
 })
 },
 bindReplaceInput: function(e) {
 var value = e.detail.value
 var pos = e.detail.cursor
 if(pos != -1){
 // 光标在中间
 var left = e.detail.value.slice(0,pos)
 // 计算光标的位置
 pos = left.replace(/11/g,'2').length
 }

 // 直接返回对象,可以对输入进行过滤处理,同时可以控制光标的位置
 return {
 value: value.replace(/11/g,'2'),
 cursor: pos
 }
 // 或者直接返回字符串,光标在最后边
 // return value.replace(/11/g,'2'),
 },
 bindHideKeyboard: function(e) {
 if (e.detail.value === "123") {
 //收起键盘
 wx.hideKeyboard()
 }
 },
 onLoad:function(options){
 // 页面初始化 options为页面跳转所带来的参数
 },
 onReady:function(){
 // 页面渲染完成
 },
 onShow:function(){
 // 页面显示
 },
 onHide:function(){
 // 页面隐藏
 },
 onUnload:function(){
 // 页面关闭
 }
})

效果图:

 微信小程序 input输入框控件详解及实例(多种示例)微信小程序 input输入框控件详解及实例(多种示例)

 源码下载地址:DEMO

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
js防止表单重复提交的两种方法
Sep 30 Javascript
简单实用的反馈表单无刷新提交带验证
Nov 15 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
Feb 26 Javascript
javascript适合移动端的日期时间拾取器
Nov 10 Javascript
jquery利用拖拽方式在图片上添加热链接
Nov 24 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
Dec 19 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
Jan 07 Javascript
vue实现留言板todolist功能
Aug 16 Javascript
vue toggle做一个点击切换class(实例讲解)
Mar 13 Javascript
详解Vue-axios 设置请求头问题
Dec 06 Javascript
了解Javascript中函数作为对象的魅力
Jun 19 Javascript
vue简单练习 桌面时钟的实现代码实例
Sep 19 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
Dec 14 #Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Dec 14 #Javascript
javascript中的try catch异常捕获机制用法分析
Dec 14 #Javascript
微信小程序 scroll-view组件实现列表页实例代码
Dec 14 #Javascript
AngularJS指令中的绑定策略实例分析
Dec 14 #Javascript
JavaScript触发onScroll事件的函数节流详解
Dec 14 #Javascript
AngularJS指令与指令之间的交互功能示例
Dec 14 #Javascript
You might like
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
js 操作css实现代码
2009/06/11 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
jquery分页对象使用示例
2014/04/01 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
2014/05/23 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
JavaScript 中的 this 简单规则
2017/09/19 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
Vue中的组件及路由使用实例代码详解
2019/05/22 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
Python实现返回数组中第i小元素的方法示例
2017/12/04 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
关于python3中setup.py小概念解析
2019/08/22 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
Unix如何添加新的用户
2014/08/20 面试题
化学系大学生自荐信范文
2014/03/01 职场文书
讲解员培训方案
2014/05/04 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
公司离职证明范本(汇总)
2014/09/10 职场文书
2014年电工工作总结
2014/11/20 职场文书
报名委托书
2015/01/29 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
环保主题班会教案
2015/08/13 职场文书
导游词之神仙居景区
2019/11/15 职场文书