在 Actionscript 中仅接受数字的 2 个文本字段之间切换启用/禁用
Posted
技术标签:
【中文标题】在 Actionscript 中仅接受数字的 2 个文本字段之间切换启用/禁用【英文标题】:Toggle enable/disable between 2 textfields which accept only numbers in Actionscript 【发布时间】:2015-05-21 04:50:13 【问题描述】:我有 2 个文本字段,Tx1 和 Tx2 只接受数字。
我的要求
第一次 Tx1 和 Tx2 都应该启用="true"。 在 Tx1 中插入第一个数字时,Tx2 应启用="false"。 如果我删除号码,Tx1 & Tx2 应该是 enable="true" 然后如果我在 Tx2 中插入号码,Tx1 应该是 enable="false"。可能的解决方案
我想我需要从键盘捕获数字键,然后使用 focusIn(event) 和 FocusOut(event)(也许)。我不知道如何只捕获数字键
【问题讨论】:
修正了一些语法和格式 Thnx @DerGolem 非常感谢... 【参考方案1】:使用change
事件。
<s:TextInput id="tx1" restrict="0-9" change="tx1Changed()"/>
<s:TextInput id="tx2" restrict="0-9" change="tx2Changed()" y="50"/>
并检查两个 TextInput 中输入了多少位。
private function tx1Changed():void
if (tx1.text.length > 0)
tx2.enabled = false;
else
tx2.enabled = true;
private function tx2Changed():void
if (tx2.text.length > 0)
tx1.enabled = false;
else
tx1.enabled = true;
【讨论】:
Thnx @subdan 这要容易得多..!【参考方案2】:FocusEvent 和 KeyBoardEvent 适合您的情况。
Tx1.restrict = "0-9";
限制输入字符
事件示例:
import flash.events.FocusEvent;
import flash.text.TextField;
import flash.events.KeyboardEvent;
Tx1.addEventListener(FocusEvent.FOCUS_OUT, Tx1FocusOutListener);
Tx1.addEventListener(KeyboardEvent.KEY_UP, Tx1KeyUpListener);
function Tx1KeyUpListener(e:KeyboardEvent):void
if (TextField(e.currentTarget).text == "1") Tx2.selectable = Tx2.visible = false;
else Tx2.selectable = Tx2.visible = true;
function Tx1FocusOutListener(e:FocusEvent):void
if (TextField(e.currentTarget).text == "1") Tx2.selectable = Tx2.visible = false;
else Tx2.selectable = Tx2.visible = true;
【讨论】:
你能再澄清一下吗...我的意思是删除 Tx1 值 Tx2 时的焦点事件和应该是 enable="true" 我在主评论中添加示例。以上是关于在 Actionscript 中仅接受数字的 2 个文本字段之间切换启用/禁用的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Firebase 中仅接受来自我的应用程序的函数调用?