1

ユーザーにテキスト フィールド (INPUTFIELD) に 1 ~ 350 の範囲の数字を入力してもらいたい。XML を使用して、別のテキスト フィールド (OUTPUTFIELD) に文字列を返したいと考えています。

99% は機能しましたが、ユーザーが 0 または 350 を超える数字を入力した後、OUTPUTFIELD にメッセージを返したいと考えています。

これが機能せず、次のメッセージが表示されます。

TypeError: Error #2007: Parameter text must be non-null.
    at flash.text::TextField/set text()
    at MethodInfo-2()

私のコードは次のとおりです。

this.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
function keyDownHandler(event : KeyboardEvent):void {
    if (event.keyCode == Keyboard.ENTER) { 
        if (inputField.text > "0") {
               outputField.text = xmlData.prefix_list.country[Number(inputField.text)];
               outputField.setTextFormat(myTextFormat);
        } else {
               if (inputField.text > "350") {
                   outputField.text = "DOES NOT EXIST";
                   outputField.setTextFormat(myTextFormat);
               } 
        }
    }
}

「if」条件で多数のオプションを試しました。たとえば、次のようなものです。

if (inputField.text > "0" || inputField.text < "350")
if (inputField.text >= 0 && inputField.text =< 350)
if (inputField.text >= "0" && inputField.text =< "350")

「else」条件についても同様です。

} else {
    if (inputField.text > "350") {

誰かが私を正しい方向に向けることができるかもしれません。

4

1 に答える 1

0
if (int(inputField.text) > 0 && int(inputField.text) < 350)    {
  outputField.text = xmlData.prefix_list.country[Number(inputField.text)];
  outputField.setTextFormat(myTextFormat);
} else {
  outputField.text = "DOES NOT EXIST";
  outputField.setTextFormat(myTextFormat);
}

整数を扱う場合は、値を int に変換する必要があります。

AS3 では型を簡単に変換できます。文字列を数値に変換する方法のチュートリアルは次のとおりですhttp://www.trainingtutorials101.com/2011/01/actionscript-3-convert-strings-to.html

于 2012-09-19T21:01:05.197 に答える