从属文本字段

时间:2012-05-04 14:50:14

标签: actionscript-3 flash textfield

我希望文本字段相互依赖。例如,有两个输入文本字段,如角频率(ω)和普通频率(f),ω=2πf。如果我改变一个,另一个改变。我怎样才能做到这一点?第二件事,我如何检查文本字段是否为空?

if (field.text=="")... // doesn't work

1 个答案:

答案 0 :(得分:2)

有两种方法可以做到这一点。您可以使用某种更新函数,在每个帧都调用每个字段的当前值,检查每个字段的当前值,然后查看是否有更改,然后对此做出反应。

private var tf1 : TextField = new TextField();
private var tf2 : TextField = new TextField();
private var tf1LastVal : String = "";
private var tf2LastVal : String = "";

public function update() : void
{
    if(tf1.text != tf1LastVal)
    {
        tf2.text = //put your logic here
        tf1LastVal = tf1.text;
    }
    else if(tf2.text != tf2LastVal)
    {
        tf1.text = //put your logic here
        tf2LastVal = tf2.text;
    }
}

另一种更好的方式(在我看来)是通过向TextFields添加事件监听器

//add this where you construct your TextFields
tf1.addEventListener(Event.CHANGE, onTf1Change);
tf2.addEventListener(Event.CHANGE, onTf2Change);
//end

private function onTf1Change(e : Event) : void
{
    tf2.text = //your logic here;
}

private function onTf2Change(e : Event) : void
{
    tf1.text = //your logic here;
}