0
在我的控制器中,有一個基於Doctrine CRUD生成的相當經典的「創建」操作。symfony controllerAction持續幾次相同的對象
但是,當我通過點擊「創建」表單按鈕多次執行此操作時,同樣的對象被創建多次,因爲我點擊。
這是一個主要問題,因爲我的班級「操作」非常大,需要很長時間來記錄。用戶非常想要點擊幾次。
/**
* Creates a new Operation entity.
*
* @Route("/", name="operation_create")
* @Method("POST")
* @Template("MyApplicationBundle:Operation:new.html.twig")
*/
public function createAction(Request $request)
{
$entity = new Operation();
$form = $this->createForm(new OperationType(), $entity, array(
'em' => $this->getDoctrine()->getManager(),
));
$form->bind($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$entity->setdateCreation(new \DateTime())
->setUser($this->get('security.context')->getToken()->getUser());
$em->persist($entity);
$em->flush();
$this->get('session')->getFlashBag()->add('success', 'OK');
return $this->redirect($this->generateUrl('operation_show', array('id' => $entity->getId())));
}
return array(
'entity' => $entity,
'form' => $form->createView(),
);
}
如果任何人都可以幫助我,這將是非常好的。
通過javascript首次點擊後,禁用按鈕? –
可能的重複http://stackoverflow.com/questions/926816/how-to-prevent-multiple-form-submit-from-client-side http://stackoverflow.com/questions/2830542/prevent-double-submission -of-表單中,jQuery的 – zizoujab