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

QQ登录

只需一步,快速开始

查看: 9343|回复: 12

[结贴] 限制输入长度

[复制链接]

28

主题

224

帖子

802

积分

高级会员

Rank: 4

积分
802
QQ
发表于 2014-5-3 23:48:24 | 显示全部楼层 |阅读模式
版本: X5.2.6 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
如何让用户输入达到最大字符时,不给输入。最好不用对话框提示,直接不能继续输入信息。

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-5-4 08:36:27 | 显示全部楼层
本帖最后由 fpj 于 2014-5-4 08:37 编辑

$(justep.xbl("input1").input).attr("maxlength",1);
这样设置只能输入1个字符
向前进,向前进,我们……
回复 支持 反对

使用道具 举报

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-5-4 08:39:38 | 显示全部楼层
textarea组件怎么控制输入字符数量,参考下面的贴子 2楼
http://bbs.justep.com/forum.php? ... 5%E5%AD%97%E7%AC%A6

评分

参与人数 1 +5 收起 理由
jishuang + 5 赞一个!

查看全部评分

向前进,向前进,我们……
回复 支持 反对

使用道具 举报

17

主题

355

帖子

772

积分

高级会员

Rank: 4

积分
772
QQ
发表于 2014-5-4 08:47:01 | 显示全部楼层
参考:界面控制
http://bbs.justep.com/thread-35601-1-1.html

textarea组件没有maxlength属性,可以用下面的方法实现
$(justep.xbl('txtFContent').input).bind('keydown', function(evt){if(this.value.length>=2){return false}} );

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

一步一步走向那迦南地......
回复 支持 反对

使用道具 举报

28

主题

224

帖子

802

积分

高级会员

Rank: 4

积分
802
QQ
 楼主| 发表于 2014-5-4 21:27:33 | 显示全部楼层
fpj 发表于 2014-5-4 08:36
$(justep.xbl("input1").input).attr("maxlength",1);
这样设置只能输入1个字符

可以直接在源码中控制吗?为什么没有效果?
回复 支持 反对

使用道具 举报

28

主题

224

帖子

802

积分

高级会员

Rank: 4

积分
802
QQ
 楼主| 发表于 2014-5-4 21:49:44 | 显示全部楼层
zxiao_0918 发表于 2014-5-4 21:27
可以直接在源码中控制吗?为什么没有效果?

通过js又是在哪个函数中写?为什么写了没效果,达到我限制的字符后,还可以继续输入信息进去。
回复 支持 反对

使用道具 举报

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-5-4 21:56:03 | 显示全部楼层
zxiao_0918 发表于 2014-5-4 21:49
通过js又是在哪个函数中写?为什么写了没效果,达到我限制的字符后,还可以继续输入信息进去。 ...

你是代码是怎么写的?
再就是你是在那个事件中执行的控制代码。

再就是你的BIZDATA 的属性 auto-load  是否设为 TRUE;
向前进,向前进,我们……
回复 支持 反对

使用道具 举报

28

主题

224

帖子

802

积分

高级会员

Rank: 4

积分
802
QQ
 楼主| 发表于 2014-5-4 21:57:45 | 显示全部楼层
fpj 发表于 2014-5-4 21:56
你是代码是怎么写的?
再就是你是在那个事件中执行的控制代码。

我这边是新增的时候,做限制的,在源码中增加maxlength不行,在加载的时候执行你说的那个js也不行?
回复 支持 反对

使用道具 举报

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-5-4 22:04:54 | 显示全部楼层
zxiao_0918 发表于 2014-5-4 21:57
我这边是新增的时候,做限制的,在源码中增加maxlength不行,在加载的时候执行你说的那个js也不行? ...

其实限制字符输入长度可以有多种试;
1、可以通编辑规则来控制;
2、可以通过正则表达式来控制;
3、你还可以通过我说的代码来进行控制;


限制input框输入长度(不关心输入法状态)
1.$("input.xforms-value").attr("maxLength",255);      //控制所有的input框的输入长度
2.$(justep.xbl("input1").input).attr("maxLength",5) ;  //单独控制某个input
3.也可以在数据源规则中,在caculate属性中通过if()函数以及字符串函数结合来单独判断其绑定的input长度
其中第1点和第二点使用时还要注意:如果在主页面,要写在数据源的onXBLLoaded事件中,如果是弹出口,则必须写在windowReceiver组件中的onReceive事件中
向前进,向前进,我们……
回复 支持 反对

使用道具 举报

28

主题

224

帖子

802

积分

高级会员

Rank: 4

积分
802
QQ
 楼主| 发表于 2014-5-4 22:15:10 | 显示全部楼层
fpj 发表于 2014-5-4 22:04
其实限制字符输入长度可以有多种试;
1、可以通编辑规则来控制;
2、可以通过正则表达式来控制;

按照你的那个方法是在onXBLLoaded方法中的,输入超过限制字符,为什么还可以继续输入,起不到控制的作用,还有什么地方需要注意的?如果我直接在源码中加maxlength或者其他属性可以不可以进行限制?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-4 23:43 , Processed in 0.057973 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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