微信小程序点击按钮动态切换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 相关文章推荐
JavaScript基础知识之数据类型
Aug 06 Javascript
jquery数组之存放checkbox全选值示例代码
Dec 20 Javascript
javascript 中__proto__和prototype详解
Nov 25 Javascript
限制上传文件大小和格式的jQuery插件实例
Jan 24 Javascript
JavaScript中三种异步上传文件方式
Mar 06 Javascript
深入理解js中this的用法
May 28 Javascript
微信小程序 wx:key详细介绍
Oct 28 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
Jan 16 Javascript
JS和Canvas实现图片的预览压缩和上传功能
Mar 30 Javascript
Vue.js实现表格渲染的方法
Sep 07 Javascript
解决layui弹框失效的问题
Sep 09 Javascript
微信小程序:报错(in promise) MiniProgramError
Oct 30 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
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
2015/01/13 Javascript
javascript的BOM汇总
2015/07/16 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python 内置函数complex详解
2016/10/23 Python
Python  pip安装lxml出错的问题解决办法
2017/02/10 Python
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
在Python中关于使用os模块遍历目录的实现方法
2019/01/03 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
英国女性时尚品牌:Apricot
2018/12/04 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
护理专业本科生自荐信
2013/10/01 职场文书
银行员工职业规划范文
2014/01/21 职场文书
结婚保证书范文
2014/04/29 职场文书
邀请函格式范文
2015/02/02 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
小学班主任心得体会
2016/01/07 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
Pytorch 如何实现常用正则化
2021/05/27 Python
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android