J'ai un formulaire qui a deux FieldGroup
s, et dans l'un des FieldGroup
s j'ai un SelectionGroup
.
Le SelectionGroup_Item
s apparaissent sous la forme FieldGroup
mais les cases d'option pour sélectionner l'une des options ne s'affichent pas. Si je supprime le FieldGroup
, cela fonctionne à nouveau.
J'ai regardé les modèles de framework, et si je change le FieldGroup_holder.ss
SmallFieldHolder
à FieldHolder
les cases radio apparaissent à nouveau et fonctionnent correctement. J'ai essayé de suivre les modèles pour voir lequel n'obéit pas au SelectionGroup
mais je continue de me perdre.
Voici un exemple de code
$fields = FieldList::create(
FieldGroup::create(
TextField::create('Name', 'Name')
),
FieldGroup::create(
SelectionGroup::create(
'Test1or2',
array(
SelectionGroup_Item::create(
'Test1', array(
TextField::create('Test1', 'Test1')
),
'Test1'
),
SelectionGroup_Item::create(
'Test2', array(
TextField::create('Test2', 'Test2')
),
'Test2'
)
)
)
)
),
FieldList::create(
FormAction::create('submit', 'Submit')
)
Vous pouvez ajouter un autre jeu de champs, puis définir ses attributs sur id="hidden_field" aria-hidden="true"
. Dans le document CSS, vous pouvez effectuer les opérations suivantes.
#hidden_field{
display:none;
height:0;
width:0;
margin:0;
padding:0;
visibility: hidden;
}
Cela devrait masquer le comportement des requêtes de SilverStripe Framework. Dans mes propres formulaires php, des parenthèses aléatoires apparaissaient chaque fois que quelqu'un soumettait un nouveau formulaire plusieurs fois sous différents numéros d'identification de pièce. J'ai utilisé cette approche pour masquer les parenthèses aléatoires sur mon site.