起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3243|回复: 8

[结贴] input组件的onChange事件控制按钮的样式和是否可用

[复制链接]

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
发表于 2018-10-31 09:09:31 | 显示全部楼层 |阅读模式
如下为相关代码
Model.prototype.phoneChange = function(event){
  //清空input内容的图片,加了click
  var imageClear = $(this.getElementByXid("clear"));
  //发送验证码的按钮
  var codeButton = $(this.getElementByXid("getCode"));
  //复选框要处于选取状态
  var agree = this.comp("agree").get("checked");
  var phone = this.comp("dataMain").val("phone");
  if(phone !== undefined){
   if ( phone.length == 11 && agree) {
    //满足要求时变成红色,且可用
    codeButton.removeClass("gray");
    codeButton.addClass("red");
    this.comp("getCode").set("disabled",false);
    //让那个clear的图片按钮显示出来
    imageClear.removeClass("none");
   }else{
    //让图标变成灰色,并且禁用
    codeButton.removeClass("red");
    codeButton.addClass("gray");
    this.comp("getCode").set("disabled",true);
    //clear那个图片按钮不显示
    imageClear.addClass("none");
   }
  }else{
   //让图标变成灰色,并且禁用
   codeButton.removeClass("red");
   codeButton.addClass("gray");
   this.comp("getCode").set("disabled",true);
   //clear那个图片按钮不显示
   imageClear.addClass("none");
  }
};
遇到的问题是,我用了这个onChange事件,但是还是需要我把焦点移出input才能执行这段代码内的流程,也就是说,我用了onchange得到的效果和onblur是一样的,是哪里的逻辑不对,请指点

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-31 10:22:13 | 显示全部楼层
bind-ref关联data的关系了吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-10-31 10:30:59 | 显示全部楼层
jishuang 发表于 2018-10-31 10:22
bind-ref关联data的关系了吗?

绑定了,不然在获取datamain.val那里就报错了
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-10-31 10:32:15 | 显示全部楼层
Bex5wenti 发表于 2018-10-31 10:30
绑定了,不然在获取datamain.val那里就报错了

给input加了这些style:border:none;box-shadow:none;font-size:18px;display:inline-block;width:80%;color:#000000;
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-10-31 10:43:08 | 显示全部楼层
Bex5wenti 发表于 2018-10-31 10:32
给input加了这些style:border:none;box-shadow:none;font-size:18px;display:inline-block;width:80%;co ...

用的是表单下的input
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-31 11:40:23 | 显示全部楼层
把input上的valueUpdateMode设置为input
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-10-31 11:44:39 | 显示全部楼层
jishuang 发表于 2018-10-31 11:40
把input上的valueUpdateMode设置为input

那如果是password也要实现onchange该怎么改?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-31 11:55:24 | 显示全部楼层
直接用input组件设置type为password就跟password是一样的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-10-31 11:59:10 | 显示全部楼层
jishuang 发表于 2018-10-31 11:55
直接用input组件设置type为password就跟password是一样的

嗯,解决了,我再onload时把它的type改成password了,谢谢解答
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-8-28 22:49 , Processed in 0.055352 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表