我如何做一个确认窗口



我想在填写表单时创建一个确认窗口。

现在,我填写表单,如果表单有效,则实体将持久化并返回一个视图,其中我的实体作为参数。但这不是我想要的。

如果表单有效,我不想保留实体。如果它有效,则必须使用我的参数(实体)显示视图,然后如果我的用户单击按钮进行确认,请保留实体并重定向到其他视图。如果我的用户点击按钮返回,我会使用 JavaScript 函数:javascript:history.back(1)

我该怎么做?

一种简单的方法是将绑定实体存储在会话(闪存)中,并在确认持久性后检索它。

在"保存表单"操作中:

if ($form->isValid()) {
    $myEntity = $form->getData();
    $this->get('session')->setFlash('my_entity', $myEntity);
    return $this->render('MyBundle:Controller:confirmation.html.twig', array(
        'entity' => $myEntity
    ));
}

在您的"确认保存"操作中:

$myEntity = $this->get('session')->getFlash('my_entity');
$this->em->persist($myEntity);
$this->em->flush();

这只是一个基本示例,需要将其添加到您的项目中。

最新更新