如何在文本字段为空时禁用按钮

How to disable button when textfield is empty

我创建了一个名为 '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;
    }
}

你的代码有一些小问题:

  • 您应该使用 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;
    }
}

希望能帮到你。

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

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