2009-07-21 5 views
5

Mam dość skomplikowaną konfigurację, którą sprowadziłem do poniższego kodu. Mam zewnętrzny FormPanel, w którym próbuję dołączyć komponent, który jest podklasą FormPanel. W FF powoduje błąd "this.body is null".ExtJS FormPanel w FormPanel kończy się niepowodzeniem z "this.body is null"

Czy dzieje się to z kimś innym? Czy to możliwe, aby to zadziałało? Bardzo nie chcę musieć dotykać podklasy, jeśli nie muszę.

var test = new Ext.Window({ 
    title: 'test', 
    items: [{ 
    xtype: 'form', 
    items: [{ 
     // this is where the subclass of FormPanel goes 
     xtype: 'form', 
     items: [{ 
     xtype: 'textfield', 
     fieldLabel: 'Testing' 
     }] 
    }] 
    }] 
}); 
test.show(); 

Odpowiedz

15

Nie jestem pewien, czy to jest twój dokładny problem, ale wiem, że nigdy nie mają osadzić xtype: „form” do w xtype: „formie”. Jeśli potrzebujesz funkcji układu, zamiast xtype: "formularz", użyj xtype: "panel" z układem: "formularz".

+1

Pytanie na pytanie, ale dlaczego nie należy używać xtype: "formularz" w xtype: "forma"? Rozumiem, że nie ma to większego sensu pod względem HTML, ale jeśli chodzi o javascript, to są po prostu obiektami. –

+3

Gdy skrypt jest renderowany w formacie HTML, można w zasadzie mają:

Jason

+0

Dziękuję milion razy. Właśnie straciłem ponad godzinę na ten problem :( – StevenMcD

0

Zasadniczo próbujesz osadzić FormPanel wewnątrz innego panelu FormPanel. To nie zadziała. Myślę, że to, czego chcesz, to:

var test = new Ext.Window({ 
    title: 'test', 
    items: [{ 
    xtype: 'form', 
    items: [{ 
     xtype: 'textfield', 
     fieldLabel: 'Testing' 
    }] 
    }] 
}); 
test.show(); 
0

Myślę, że działałoby, gdybyś dodał coś (np. Ukryte pole tekstowe) do pierwszej "formy".

0

Extjs nie powstrzymuje cię od zrozumienia kodu HTML. Nie możesz mieć zagnieżdżonych formularzy.

Powiązane problemy