微信小程序点击按钮动态切换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动态加载javascript以减少服务器压力
Oct 29 Javascript
js jquery获取随机生成id的服务器控件的三种方法
Jul 11 Javascript
js 弹出框只弹一次(二次修改之后的)
Nov 26 Javascript
通过JS动态创建一个html DOM元素并显示
Oct 15 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
Feb 20 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
Jun 30 Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 Javascript
详解vue与后端数据交互(ajax):vue-resource
Mar 16 Javascript
js如何获取网页所有图片
May 12 Javascript
angular之ng-template模板加载
Nov 09 Javascript
Vue header组件开发详解
Jan 26 Javascript
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
微信小程序实现比较功能的方法汇总(五种方法)
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
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
php中执行系统命令的方法
2015/03/21 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
js canvas实现二维码和图片合成的海报
2020/11/19 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
跟老齐学Python之有点简约的元组
2014/09/24 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
python列表的逆序遍历实现
2020/04/20 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
应届生个人求职信模板
2013/11/26 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python