0

我想在 extjs 中使用带有表单的保存按钮。这就是我作为处理程序所拥有的

{
         xtype: 'button',
         handler: function(button, event) {
             var form = this.getForm();
             if (form.isValid()) {
                Ext.MessageBox.alert('Submitted Values', form.getValues(true));
                                 }
                                           },
          height: 37,
          id: 'configurationDriversSave',
          text: 'Save'
}

我现在在 firebug 中得到的只是一个错误:this.getForm 不是函数。我究竟做错了什么?

4

3 回答 3

2

在处理程序this中将引用按钮本身。您可以在萤火虫中检查,按钮当然没有方法getForm()。你需要调用类似'this.up('form')`的东西。

第二件事 - 您不必像尝试做的那样进行手动验证。ExtJs 有内置的表单验证机制。

于 2012-06-05T10:32:16.597 回答
0
this.getForm

Firefox 不支持,document.forms请改用,或者您也可以从此链接获得任何参考。

于 2012-06-05T09:20:24.797 回答
0

根据这篇博文,您可以简单地使用this.form来访问包含生成事件的元素的表单元素。

所以,而不是

var form = this.getForm();

采用

var form = this.form;
于 2012-06-05T16:41:51.550 回答