微信小程序点击按钮动态切换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 相关文章推荐
JQuery 学习笔记 选择器之五
Jul 23 Javascript
jQuery 前的按键判断代码
Mar 19 Javascript
基于jquery实现的文字淡入淡出效果
Nov 14 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
Nov 02 Javascript
基于javascript实现动态时钟效果
Aug 18 Javascript
浅谈JS之tagNaem和nodeName
Sep 13 Javascript
js 实现省市区三级联动菜单效果
Feb 20 Javascript
浅谈Vue.js中的v-on(事件处理)
Sep 05 Javascript
使用Vue组件实现一个简单弹窗效果
Apr 23 Javascript
vue iview多张图片大图预览、缩放翻转
Jul 13 Javascript
JavaScript工具库MyTools详解
Jan 01 Javascript
JavaScript实现刮刮乐效果
Nov 01 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+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
一个可以兼容IE FF的加为首页与加入收藏实现代码
2009/11/02 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
js实现中文实时时钟
2020/01/15 Javascript
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
浅析Python多线程下的变量问题
2015/04/28 Python
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
python3库numpy数组属性的查看方法
2018/04/17 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
python excel转换csv代码实例
2019/08/26 Python
django中media媒体路径设置的步骤
2019/11/15 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
Css3实现无缝滚动防抖
2020/09/14 HTML / CSS
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
HelloFresh澳大利亚:订购你的美味食品盒、健康餐食
2018/03/28 全球购物
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
UNOde50美国官网:西班牙珠宝品牌
2020/08/15 全球购物
心得体会范文
2014/01/04 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
安全标准化汇报材料
2014/02/03 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
多媒体教室标语
2014/06/26 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
2015中学学校工作总结
2015/07/20 职场文书
遗嘱范文
2015/08/07 职场文书
Python基础之tkinter图形化界面学习
2021/04/29 Python