微信小程序点击按钮动态切换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 setTimeout函数不兼容失效不执行的方法
Nov 14 Javascript
浅谈javascript原型链与继承
Jul 13 Javascript
关于react-router的几种配置方式详解
Jul 24 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
Jan 02 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
Aug 13 jQuery
微信小程序实现传递多个参数与事件处理
Aug 12 Javascript
微信小程序实现上拉加载功能
Nov 20 Javascript
深入浅析vue全局环境变量和模式
Apr 28 Javascript
vue递归获取父元素的元素实例
Aug 07 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
Aug 31 Javascript
小程序点餐界面添加购物车左右摆动动画
Sep 23 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
怎么使 Mysql 数据同步
2006/10/09 PHP
超级简单的发送邮件程序
2006/10/09 PHP
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
使用JavaScript创建新样式表和新样式规则
2016/06/14 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
angularJS 入门基础
2015/02/09 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
python的绘图工具matplotlib使用实例
2014/07/03 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
详解Python中for循环是如何工作的
2017/06/30 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
Python内置类型性能分析过程实例
2020/01/29 Python
python怎么调用自己的函数
2020/07/01 Python
Python模块常用四种安装方式
2020/10/20 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
Python用户自定义异常的实现
2020/12/25 Python
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
杭州联环马网络笔试题面试题
2013/08/04 面试题
学生实习自我鉴定
2013/10/11 职场文书
职务说明书范文
2014/05/07 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS