如何在textfield为空时禁用按钮

时间:2015-12-17 15:10:20

标签: actionscript-3 flash

我创建了一个名为'nama'的文本域和按钮'ayo'。我想在文本字段为空时禁用该按钮。但是,当我尝试此代码时,我的按钮不会禁用并仍在工作。我想在文本字段填充之前禁用按钮。

stop();
menumulaikuis();
var namasiswa:String;
var nama:TextField = new TextField();
namasiswa = nama.text;

nama.addEventListener(Event.CHANGE,handler);
function handler(event:Event){
    if (nama.text) {
        ayo.enabled = true;
        ayo.visible = true;
    } else {
        ayo.enabled = false;
        ayo.visible = false;
    }
}

2 个答案:

答案 0 :(得分:1)

您的代码中存在一些小问题:

  • 您应使用addChild()
  • 将文字文件添加到舞台上
    var nama:TextField = new TextField();
    addChild(nama);
  • 如果您的文字字段是用户输入的,那么其类型应为input
    nama.type = 'input';
  • 要验证文字字段的文字是否为空,您只需执行以下操作:
    if(nama.text == ''){ /* ... */ }

因此,您的文本字段的更改处理程序可以是这样的:

function changeHandler(event:Event): void 
{
    if (nama.text != '') {
        ayo.enabled = true;
        ayo.visible = true;
    } else {
        ayo.enabled = false;
        ayo.visible = false;
    }
}

希望可以提供帮助。

答案 1 :(得分:0)

如果文本字段不是用户输入,则无法使用Event.CHANGE侦听器。

我建议将Event.CHANGE更改为Event.ENTER_FRAME;应该解决你的问题。