0

相互に依存するテキストフィールドが必要です。たとえば、角周波数(ω)と通常の周波数(f)のような2つの入力テキストフィールド、ω=2πfがあります。1つを変更すると、もう1つが変更されます。どうやってやるの?次に、テキストフィールドが空かどうかを確認するにはどうすればよいですか?

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

1 に答える 1

2

これを行うには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;
    }
}

これを行うもう1つの、そしてより良い方法(私の意見では)は、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;
}
于 2012-05-04T15:05:21.440 に答える