1

我希望用户在文本字段 (INPUTFIELD) 中填写 1-350 之间的数字。通过 XML,我想在另一个文本字段 (OUTPUFIELD) 中返回一个字符串。

我得到了 99% 的工作,但是在用户填写数字 0 或大于 350 后,我想在 OUTPUFIELD 中返回一条消息。

我没有让这个工作,我收到消息:

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

如果您使用整数,则必须将 value 转换为 int。

在 AS3 中的类型之间转换很容易。这是如何将字符串转换为数字的教程http://www.trainingtutorials101.com/2011/01/actionscript-3-convert-strings-to.html

于 2012-09-19T21:01:05.197 回答