首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

输入框设置输入数字的限制

我们在用Axure制作原型的时候,经常会使用到一个部件就是——文本框部件。文本框和多行文本框(也叫文本域),是我们制作需要用户填写的功能时使用的部件。

但是在Axure里面文本框的设置存在一些缺陷,让很多朋友在做原型的时候遇到一些困难。比如今天我们一起来看的这个小小的限制功能:如何文本框只能输入数字。

大家可能会想到的一个方法是,设置文本框的类型为数字(number)就可以了,当然,这是一种设置方法。

这种设置方法简单,但是也存在一定的缺定。

1、在输入内容之前就已经完全禁止输入,所有看不到自己输入的内容是什么(数字除外)

2、在文本框的右侧有按钮可以对数字进行增减。

如果前面的设置方法做的并不是我们想要的效果的话,我们就必须另外想办法达到我们的要求。常规的办法不行,我们就要考虑用交互设置的方法来制作。

当然,输入的内容分为数字和非数字两种,所以我们需要设置用例条件。如果输入的内容是数字的话,就让文本框的内容等于我们输入的内容;如果输入的内容不是数字的话,就让文本框的内容等于0,也就是空值。

只是这样就够了吗?还没有。

因为这里存在着二次输入的情况,也就是第一次输入数字,在接着输入的时候可能是数字一位的内容。像这样:

所以我们的事件不能简单的设置在“文本改变时”,而是需要设置在“按键松开时”,在每一次按键松开时都做一次判断。

那么问题又来了,不是一次输入完成的内容,我们怎么判断呢?我们需要借助全局变量,把输入的内容用全局变量保存起来,然后再结合用例条件去设置。把全局变量的初始值设置为空,如果文本框输入的内容是数字的话,就让全局变量等于文本框的值。

这时,全局变量的值为“11”。如果我在11的后面再输入不是数字的内容。这时设置文本框的值等于全局变量的值,也就是刚才保存下来的“11”,所以就达到了不能输入数字以外的内容的效果。

如果不输入了,把文本框内容清空掉了,就将全局变量的值设置为空值即可。这样在下次输入的时候又会开始新一轮的条件判断了。

这个方法也可以用在其他的输入内容的类型设置上,或者文字的判断上。掌握了方法之后我们就可以将它灵活应用,解决我们工作中的很多问题。

你可能还想看......

听说关注了我们的人

都升职加薪啦

点个“在看”,给小编加鸡腿~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190910A0L0C500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券