我们在用Axure制作原型的时候,经常会使用到一个部件就是——文本框部件。文本框和多行文本框(也叫文本域),是我们制作需要用户填写的功能时使用的部件。
但是在Axure里面文本框的设置存在一些缺陷,让很多朋友在做原型的时候遇到一些困难。比如今天我们一起来看的这个小小的限制功能:如何文本框只能输入数字。
大家可能会想到的一个方法是,设置文本框的类型为数字(number)就可以了,当然,这是一种设置方法。
这种设置方法简单,但是也存在一定的缺定。
1、在输入内容之前就已经完全禁止输入,所有看不到自己输入的内容是什么(数字除外)
2、在文本框的右侧有按钮可以对数字进行增减。
如果前面的设置方法做的并不是我们想要的效果的话,我们就必须另外想办法达到我们的要求。常规的办法不行,我们就要考虑用交互设置的方法来制作。
当然,输入的内容分为数字和非数字两种,所以我们需要设置用例条件。如果输入的内容是数字的话,就让文本框的内容等于我们输入的内容;如果输入的内容不是数字的话,就让文本框的内容等于0,也就是空值。
只是这样就够了吗?还没有。
因为这里存在着二次输入的情况,也就是第一次输入数字,在接着输入的时候可能是数字一位的内容。像这样:
所以我们的事件不能简单的设置在“文本改变时”,而是需要设置在“按键松开时”,在每一次按键松开时都做一次判断。
那么问题又来了,不是一次输入完成的内容,我们怎么判断呢?我们需要借助全局变量,把输入的内容用全局变量保存起来,然后再结合用例条件去设置。把全局变量的初始值设置为空,如果文本框输入的内容是数字的话,就让全局变量等于文本框的值。
这时,全局变量的值为“11”。如果我在11的后面再输入不是数字的内容。这时设置文本框的值等于全局变量的值,也就是刚才保存下来的“11”,所以就达到了不能输入数字以外的内容的效果。
如果不输入了,把文本框内容清空掉了,就将全局变量的值设置为空值即可。这样在下次输入的时候又会开始新一轮的条件判断了。
这个方法也可以用在其他的输入内容的类型设置上,或者文字的判断上。掌握了方法之后我们就可以将它灵活应用,解决我们工作中的很多问题。
你可能还想看......
关
注
听说关注了我们的人
都升职加薪啦
点个“在看”,给小编加鸡腿~
领取专属 10元无门槛券
私享最新 技术干货