我希望用户在文本字段(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 {
if (inputField.text > "350") {
也许有人可以指出我正确的方向。
答案 0 :(得分: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中转换类型很容易。这是教程如何将String转换为数字http://www.trainingtutorials101.com/2011/01/actionscript-3-convert-strings-to.html