php - form_widget submit doesn't work -
i'm trying customize form created formbuilder.
my form working when display {{ form(comment) }}
doesn't work anymore {{ form_widget(comment.mymethod) }}
i display form :
<form class="commentform"> <ul> <li class="commentformarea">{{ form_widget(comment.commentaires) }} </li> <li class="commentformsubmit">{{ form_widget(comment.save) }}</li> </ul> </form>
my controller
public function postsaction(request $request) { $repository = $this ->getdoctrine() ->getmanager() ->getrepository('nastycodefrontbundle:publication') ; $posts = $repository->findby(array(), array(), 10); $commentaires = new commentaires(); $comment = $this->get('form.factory')->createbuilder('form', $commentaires) ->add('commentaires', 'textarea') ->add('save', 'submit') ->getform() ; // on fait le lien requête <-> formulaire // À partir de maintenant, la variable $commentaires contient les valeurs entrées dans le formulaire par le visiteur $comment->handlerequest($request); // on vérifie que les valeurs entrées sont correctes // (nous verrons la validation des objets en détail dans le prochain chapitre) if ($comment->isvalid()) { // on l'enregistre notre objet $commentaires dans la base de données, par exemple $em = $this->getdoctrine()->getmanager(); $em->persist($commentaires); $em->flush(); $request->getsession()->getflashbag()->add('notice', 'annonce bien enregistrée.'); // on redirige vers la page de visualisation de l'annonce nouvellement créée return $this->redirect($this->generateurl('nastycode_comment_code', array('id' => $commentaires->getid()))); } $user = $this->getuser(); return $this->render('nastycodefrontbundle:posts:posts.html.twig', array( 'user' => $user, 'posts' => $posts, 'comment' => $comment->createview(), )); }
when submit form, generate url
/web/app_dev.php/nastycodes?form[commentaires]=mycomment&form[save]=
instead of this
/web/app_dev.php/nastycodes?id=1
i have no idea why submit doesn't work when don't display form.
do guys know problem , how can fix ?
thanks
try add method="post"
<form>
tag, default method of form get.
when use {{ form(comment) }}
generates fields of form in template. try add form_rest(comment)
before form closing tag </form>
(documentation) ensure didn't omit something.
Comments
Post a Comment