我仅在Microsoft Edge上提交表单时遇到问题(请在Microsoft处将其杀死)。一切都可以在Chrome和Firefox甚至IE中完美运行。
表单可以正确呈现,但是在提交表单时,会发生以下情况:
我不知道它从哪里得到未定义的路由和删除方法。
Edge版本:Microsoft Edge 42.17134.1.0 Microsoft EdgeHTML 17.17134
我的控制器的新操作:
/**
* Creates a new service entity.
*
* @Route("/new", name="service_new")
* @Method({"GET", "POST"})
*/
public function newAction(Request $request)
{
$this->denyAccessUnlessGranted(User::ROLE_SUPER_ADMIN);
$service = new Service();
$form = $this->createForm(ServiceType::class, $service);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($service);
$em->flush();
return $this->redirectToRoute('service_edit', array('id' => $service->getId()));
}
return $this->render('SuperAdmin/Service/new.html.twig', array(
'service' => $service,
'form' => $form->createView(),
));
}
我的表单:
{{ form_start(form, {'action': path('target_route'), 'method': 'GET'} ) }}
/*... other form rows...*/
<div class="form-group">
<div class="col-sm-4 col-sm-offset-2">
<a class="btn btn-white" href="{{ path('services') }}">{{ 'app.cancel' | trans }}</a>
<button class="ladda-button btn btn-primary" type="submit" data-style="zoom-in">{{ 'app.save'|trans }}</button>
</div>
</div>
{{ form_end(form) }}
我已经注意到,例如(在Edge上工作)登录表单具有操作和方法属性,但是该属性没有获得,因此要添加它,我已经尝试过:
这些实际上将action和method属性正确地放入了表单中,但是提交结果仍然相同。
这不是唯一不能使用的表格,我还有大约30多种表格,但这是一个简单的解释。
我搜索了很多东西,没有任何运气。谢谢您的帮助!