提交表单时 symfony 关闭 iframe
symfony close iframe when form is submitted
我有一个正在呈现表单的 iframe。我让一切都按我想要的方式工作,但现在我想关闭在提交表单时呈现表单的 iframe。
这是控制器:
public function createIssueAction(Request $request, $messageUid)
{
$form = $this->createForm(
new IssuePopupFormType($this->container),
$message
);
$form->handleRequest($request);
if ($form->isValid()) {
$message = $form->getData();
//Doing some work
$this->get('session')
->getFlashBag()
->add(
'success',
'issue' . $message . ' is created'
);
return $this->redirect($this->generateUrl('_mail_inbox'));
}
}
return $this->render(
'AcmeBundle:Issue:issuePopup.html.twig',
[
'message' => $message,
'form' => $form->createView()
]
);
}
我如何在提交表单而不是 url-redirect 时关闭 iframe?
您只能 remove/close 嵌入文档中的 iframe,因为它在其代码中。
所以你可以用 cross-document-messaging
或者你使用包装器,比如 easyxdm
这也可能有帮助http://cross-browser.com/talk/inter-frame_comm.html
随便,而不是重定向
return $this->redirect($this->generateUrl('_mail_inbox'));
您呈现一个执行一些 javascript 并发布一些状态消息的视图
在嵌入文档中,您会收听该消息,如果收到它,您 dismiss/hide/remove iframe
嗯,这取决于你的设计,但也许有很多更简单的解决方案,例如在你的 symfony 动作中你呈现一个空的 html-view
并且你的 iframe 的 css 有 height:auto 所以如果它也没有边框而且什么都没有它看起来像是被解雇了
我有一个正在呈现表单的 iframe。我让一切都按我想要的方式工作,但现在我想关闭在提交表单时呈现表单的 iframe。
这是控制器:
public function createIssueAction(Request $request, $messageUid)
{
$form = $this->createForm(
new IssuePopupFormType($this->container),
$message
);
$form->handleRequest($request);
if ($form->isValid()) {
$message = $form->getData();
//Doing some work
$this->get('session')
->getFlashBag()
->add(
'success',
'issue' . $message . ' is created'
);
return $this->redirect($this->generateUrl('_mail_inbox'));
}
}
return $this->render(
'AcmeBundle:Issue:issuePopup.html.twig',
[
'message' => $message,
'form' => $form->createView()
]
);
}
我如何在提交表单而不是 url-redirect 时关闭 iframe?
您只能 remove/close 嵌入文档中的 iframe,因为它在其代码中。
所以你可以用 cross-document-messaging
或者你使用包装器,比如 easyxdm
这也可能有帮助http://cross-browser.com/talk/inter-frame_comm.html
随便,而不是重定向
return $this->redirect($this->generateUrl('_mail_inbox'));
您呈现一个执行一些 javascript 并发布一些状态消息的视图
在嵌入文档中,您会收听该消息,如果收到它,您 dismiss/hide/remove iframe
嗯,这取决于你的设计,但也许有很多更简单的解决方案,例如在你的 symfony 动作中你呈现一个空的 html-view 并且你的 iframe 的 css 有 height:auto 所以如果它也没有边框而且什么都没有它看起来像是被解雇了