我有一个名为“textbox”的输入文本字段和一个名为“submit”的按钮。我还有两条文本消息“mc_error”和“form_submitted”,它们从一开始就不可见。单击按钮后,我希望它检查文本字段中是否包含“@”。我已经尝试了下面使用indexOf的代码,但它总是返回值-1,因此在执行时总是“mc_error”变为可见。
var str:String = textbox.text;
submit.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
mc_error.visible = false;
form_submitted.visible = false;
function fl_MouseClickHandler(event:MouseEvent):void
{
var index:int = str.indexOf("@");
if(index == -1)
{
mc_error.visible=true;
}
else
{
form_submitted.visible=true;
}
}
如果得到一些即时答案,我会感激,因为我需要它在2天内工作。谢谢
答案 0 :(得分:2)
因为你设置变量之前用户输入任何东西,它总是“”。只是不要使用该变量(或在函数体中读取它,如下所示),它会没问题。
function fl_MouseClickHandler(event:MouseEvent):void
{
var str:String = textbox.text;
var index:int = str.indexOf("@");
if(index == -1)
{
mc_error.visible=true;
}
else
{
form_submitted.visible=true;
}
}