我想用FLASH ActionScript 2进行输入文本验证。 输入文本只显示5以上的数字,所以如果我尝试输入数字0,1,2,3,4,将弹出警报并提供数据应该高于5的信息。
我希望在输入文本发生变化时进行验证处理,因为我不使用任何按钮作为触发器。
import mx.controls.Alert;
var tiListener:Object = new Object();
tiListener.change = function(evt_obj:Object)
{
if(inputText.text < 5)
{
trace("Numbers below 5 are not allowed");
Alert.show("Numbers below 5 are not allowed", "Error");
inputText.setFocus();
};
};
proj.addEventListener("change", tiListener);
跟踪输出工作正常,但警报未显示。 任何机构有任何解决方案? 感谢..
答案 0 :(得分:0)
inputText文本的类型为string
,您希望它为number
。使用parseInt
方法将字符串转换为integer
:
inputText.onChanged = function(tf:TextField)
{
if (parseInt(tf.text) < 5)
{
trace("Numbers below 5 are not allowed");
Alert.show("Numbers below 5 are not allowed", "Error");
inputText.setFocus();
}
}
将此代码放入您的函数中,这将更加明确:
trace(typeof(tf.text));
trace(typeof(parseInt(tf.text)));