我需要启用一个按钮,比如说提交按钮,当用户开始使用EXT JS在文本区域中写入时。开始时,由于文本区域为空,因此禁用了提交按钮。当用户开始在文本区域中编写时,它应该被启用。请告诉我是否有任何事件在EXT JS中跟踪文本区域中的写作
这样的事情应该做 -
{
xtype : 'textareafield',
grow : true,
name : 'MyTextField',
fieldLabel: 'MyTextField',
listeners : {
blur: function(event, eOpts){
// here you can get reference to the button and enable
},
change: function(newValue, oldValue, eOpts) {
// this event will be fired whenever the value of the text field changes when you type.
// You can even listen to this function and enable the button when this event fires
}
}
}
要获取可以收听的事件列表,我建议您查看 API 文档。这是 Ext 5.0 的 TextArea API 文档
使用:formBind: true
将根据表单的有效性状态启用/禁用。
Ext.create('Ext.form.FormPanel', {
title : 'Sample TextArea',
width : 400,
bodyPadding: 10,
renderTo : Ext.getBody(),
items: [{
xtype : 'textareafield',
grow : true,
allowBlank: false,
name : 'message',
fieldLabel: 'Message',
anchor : '100%'
},{
xtype: 'button',
text: 'My Button',
formBind: true,
disabled: true
}]
});