0

必要な「itemCls」を使用して、ext js フォームにいくつかのフィールドを追加しました。ただし、フィールドをチェックせずに送信するフォーム (必須フィールド) は、null かどうか。

私のコードは以下のとおりです。

  xtype: 'form',
  id: 'form',
  bodyStyle: 'overflow : auto; height: 337px;',
  items: [{
    xtype: 'fieldset',
    items: [{
      xtype: 'combo',
      id: 'adr',
      anchor: '98%',
      listWidth: 300,
      itemCls: 'required',
      editable: false,
      store: store,
      displayField: 'NAM',
      valueField: 'ID',
      triggerAction: 'all',
      mode: 'local'
    }, {
      xtype: 'datefield',
      id: 'date',
      name: 'date',
      itemCls: 'required',
      readOnly: false,
    }, {
      xtype: 'textfield',
      id: 'name',
      itemCls: 'required',
      anchor: '98%',
      fieldLabel: 'name',
      name: 'name'
    }]
  }, {
    xtype: 'button',
    text: 'Save',
    handler: function(btn, evt) {
      Ext.getCmp('form').getForm().submit();
    }

  }]

どんな助けでも大歓迎です..

4

1 に答える 1

0

formにmonitorValid : trueを追加する必要があります。次に、たとえばformでリスナーclientvalidationを使用して、送信ボタンを無効にすることができます

listeners: {
  clientvalidation : function(form, valid) {
    Ext.getCmp('button-save').setDisabled(!valid);
  }
}

その後、クライアントの検証は期待どおりに機能します。注: button-saveは、 [保存] ボタンにあるIDです。

于 2012-08-06T11:01:03.793 に答える