Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 获取文本输入Flex中的字符数_Actionscript 3_Apache Flex_Actionscript_Flex4.6 - Fatal编程技术网

Actionscript 3 获取文本输入Flex中的字符数

Actionscript 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

我在flex we应用程序中有textinput

<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;
}