私は3つのパネルを持っており、各パネルには7〜10のフィールドがあります。
メインフォームパネルには、コンボフィールドと3つのパネルが含まれています。
コンボで選択した値に基づいて、残りの2つのパネルを非表示にし、1つのパネルを表示しています。
これら3つのパネルすべてallowBlank: falseに、フィールドの検証があります。
フォームの送信中に、非表示になっているフィールドも検証され、フォームの送信が妨げられます。だから私は隠されているフィールドを無効にしたいです。私はこのコードを使用しています。
question_multiple_option.query('.component').forEach(function(c){c.setDisabled(true);});
ただし、EXT 4.Xでは、フォームの送信時に無効なフィールドも検証されます。
Ext 2.Xおよび3.Xでは、無効なフィールドは検証されず、送信されません。
以前、私はext2.Xでこのコードを使用していました
Ext.getCmp('option').cascade(function(comp){
if (comp.isFormField) {
//comp.enable();
comp.disable();
}
});
パネルを非表示にして表示することにより、複数のパネルを持つフォームを実装する正しい方法ですか。または、パネルをフォームに動的に追加/削除するにはどうすればよいですか?
この種のフォームを実装するためのより良い方法はありますか?
ありがとうございました。