微信小程序点击按钮动态切换input的disabled禁用/启用状态功能


Posted in Javascript onMarch 07, 2020

做微信小程序项目的时候遇到一个功能,个人信息资料的修改与保存。以下是说明及简化后的代码:

1.页面加载完成时,所有input处于禁用状态;

 2.点击编辑按钮时,文字切换成“保存”,身份证input保持始终不可修改状态(即禁用), 姓名input可以修改(即动态加载切换禁用/启用);

3.再次点击按钮文字切回“编辑”,所有input变为禁用状态。

以下是wxml部分

<view class="btn">
 <button bindtap="changeInfo">{{text}}</button> //绑定按钮的点击事件
 </view>
 <view>姓名:
 <input class="uName" type="text" disabled='{{isDisabled}}'/>
 </view>
 <view>身份证号:
 <input class="uIdentity" type="idcard" disabled='true'/>
 </view>

上段代码中,姓名为动态加载状态,所以disabled写成disabled='{{isDisabled}}' 而身份证input为始终不可修改的状态,所以disabled写死为disabled=‘true'

以下是js部分

Page({
 data: {
 isDisabled:true, //表示页面加载完成时disabled为启用状态
 text:"编辑" //表示按钮初始文字为编辑
 },
 changeInfo(e) { //点击事件发生时
 //一定要写成this.data.isDisabled,不然判断出不来
 if (!this.data.isDisabled) { //当disabled=false时
 this.setData({ 
 isDisabled: true, //修改isDisabled的值为true(即启用状态)
 text: "编辑" //文字修改为“编辑”
 })
 }
 else { //当disabled=true时
 this.setData({ 
 isDisabled: false, //修改isDisabled的值为false(即禁用状态)
 text: "保存" //文字修改为“保存”
 })
 }
 }

将用户信息数据动态加载到input框中,此过程中身份证始终保持不可修改的状态,姓名可根据按钮动态切换成编辑和保存的状态。

下面给大家补充点知识解决“微信小程序disabled属性不生效”的问题!

微信小程序中带disabled属性的表单组件有(点击可以进入官方文档):

button,checkbox,input,picker,radio,slider,switch,textarea

如果是固定禁用组件的话,直接放上disabled就好,简单粗暴,如:

1. 忽略值的情况:

<button disabled>测试</button>

2. 使用值的情况:

<!-- 正确 -->
<button disabled="{{true}}">测试</button>
<button disabled="{{false}}">测试</button>
 
<!-- 错误 -->
<button disabled="true">测试</button>
<button disabled="false">测试</button>

在以上的错误写法中,disabled="true"是有效的,但disabled="false"是无效的,接下来,我先解释一下:

微信小程序点击按钮动态切换input的disabled禁用/启用状态功能

注意一下官方文档中,disabled的值是布尔值(Boolean),而以上的字符串(String),赋值“false”就是true。

所以disabled="false"其实就是disabled=true,它的非禁用就无效了。

如果disabled的值是动态的灵活的话,如:

在index.js中,设置一个data数据变量

Page({
 data: {
 isDisabled: true
 }
})

在index.wxml中,用上表单组件

<input type="text" disabled="{{isDisabled}}" />
 
<button disabled="{{isDisabled}}">测试</button>

修改disabled的值

this.setData({
 isDisabled: false
})

总结

到此这篇关于微信小程序点击按钮动态切换input的disabled禁用/启用状态功能的文章就介绍到这了,更多相关微信小程序切换input内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JS无限树状列表实现代码
Jan 11 Javascript
通过上下左右键和回车键切换光标实现代码
Mar 08 Javascript
用unescape反编码得出汉字示例
Apr 24 Javascript
jquery uploadify 在FF下无效的解决办法
Sep 26 Javascript
JS打开新窗口防止被浏览器阻止的方法
Jan 03 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
Dec 12 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 jQuery
快速解决处理后台返回json数据格式的问题
Aug 07 Javascript
layui获取选中行数据的实例讲解
Aug 19 Javascript
JavaScript指定断点操作实例教程
Sep 18 Javascript
通过vue刷新左侧菜单栏操作
Aug 06 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
Mar 07 #Javascript
微信小程序实现下滑到底部自动翻页功能
Mar 07 #Javascript
js实现选项卡效果
Mar 07 #Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
Mar 07 #Javascript
js实现简单放大镜效果
Mar 07 #Javascript
js实现文字头像的生成代码
Mar 07 #Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 #Javascript
You might like
3种平台下安装php4经验点滴
2006/10/09 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
jquery 判断滚动条到达了底部和顶端的方法
2014/04/02 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
Python中的默认参数详解
2015/06/24 Python
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
简单实现python聊天程序
2018/04/01 Python
Python操作MySQL数据库的方法
2018/06/20 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
Python正则表达式学习小例子
2020/03/03 Python
python 调用Google翻译接口的方法
2020/12/09 Python
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
物业管理求职自荐信
2013/09/25 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang