I need to set the value of a symfony2 form element. I use a doctrine2 entity, a Symfony\Component\Form\AbstractType and the createForm() method inside my Controllers Action.
$saleDataForm = $this->createForm(new SaleType(), $sale);
Now, how do i get an element from that form, and how can i set it's value? I want to do something like this, but it doesn't work:
$saleDataForm->get('image')->setValue('someimapge.jpg');
FYI: I need to do this to render the field correctly (using this approach, my image field is always empty and i need to set it to the content of imagePath to present a preview of an uploaded image)
For a more exact answer you should include the entities you use in this form so we can see the getters and setters. But based on your question this should work: Inside the controller do this:
$saleDataForm->getData()->getImage()->setValue('someimage.jpg');
$form->setData($form->getData());
This is if the form is already created so:
$saleDataForm = $this->createForm(new SaleType(), $sale);
$saleDataForm->getData()->getImage()->setValue('someimage.jpg');
$form->setData($form->getData());
To get the data use this:
$saleDataForm->getData()->getImage()->getValue();
thanks MatsRietdijk, you helped me, but I had to change code to this
$form = $this->createForm(new SaleType(), $sale);
$form->getData()->setImage('someimage.jpg');
$form->setData($form->getData());
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With