Actionscript 3 获取文本输入Flex中的字符数
我在flex we应用程序中有textinputActionscript 3 获取文本输入Flex中的字符数,actionscript-3,apache-flex,actionscript,flex4.6,Actionscript 3,Apache Flex,Actionscript,Flex4.6,我在flex we应用程序中有textinput <s:TextInput id="txtGuestCount" maxChars="2" editable="false"/> 单击按钮,在文本输入中插入标签值,如: protected function onNumberClick(event:MouseEvent):void { txtGuestCount.text += event.currentTarget.label; } 上面的事情不起作用。它将在textInpu
<s:TextInput id="txtGuestCount" maxChars="2" editable="false"/>
单击按钮,在文本输入中插入标签值,如:
protected function onNumberClick(event:MouseEvent):void
{
txtGuestCount.text += event.currentTarget.label;
}
上面的事情不起作用。它将在textInput
中插入超过2个字符有人帮我解决这个问题吗
如何限制textinput中最多2个字符 根据,
maxChars
在代码中更改text
时不检查。因此,您必须手动控制text
的新值不超过2个字符。例如:
protected function onNumberClick(event:MouseEvent):void
{
var s:String=txtGuestCount.text;
if (s.length==2) s=s.substr(1); // drop first char
s+=event.currentTarget.label;
// if (s.length>2) s=s.substr(0,2); // if necessary, truncate
txtGuestCount.text = s;
}
此限制仅适用于用户输入,您可以按代码添加任意数量的字符。很抱歉,回复太晚。非常好的解决方案。有没有办法停止输入新值而不是更改?比如,如果我点击09,然后按1,没有任何事情发生,而不是91?当然有,
如果(s.length>=2)返回代码>而不是调用substr()
。
protected function onNumberClick(event:MouseEvent):void
{
var s:String=txtGuestCount.text;
if (s.length==2) s=s.substr(1); // drop first char
s+=event.currentTarget.label;
// if (s.length>2) s=s.substr(0,2); // if necessary, truncate
txtGuestCount.text = s;
}