【发布时间】:2012-08-27 16:33:35
【问题描述】:
我正在构建一个 Zend 应用程序,它使用理论存储库类来更新、删除和插入数据到数据库。这些存储库是从控制器操作中调用的,它们完全按照他们应该做的事情做。但是,我想在应用程序中添加一些确认对话框,例如,如果用户想要编辑或删除一个项目,则必须首先打开一个确认编辑或删除对话框,数据将被编辑或删除,具体取决于用户选择什么。下面是一些操作代码示例,用于在用户单击 zend 表单提交按钮后更新员工详细信息。
public function updatestaffAction()
{
if ($this->getRequest()->isPost()) {
if ($form->isValid($this->getRequest()->getPost())) {
$values = $form->getValues();
$user = $this->entityManager->find('\PTS\Entity\Staff', $values['staff_number']);
$staffValues = array('staff_number' => $values['staff_number'],
'title' => $values['title'],
'first_name' => $values['first_name'],
'last_name' => $values['last_name'],
'telephone' => $values['telephone'],
'cellphone' => $values['cellphone'],
'fax' => $values['fax'],
'email' => $values['email'],
'job_title' => $values['job_title']);
$this->staffRepository->saveStaff($staffValues);
$this->entityManager->flush();
}
}
员工存储库 saveStaff 方法只是创建一个新的员工对象,如果员工不存在,则保留该对象,或者如果它是现有员工,则合并新数据,就像上面更新代码的情况一样。
所以我的问题是,如何更改操作以仅在用户单击确认对话框中的“是”按钮后才保存数据。顺便说一句,对话框可以是 JQuery 或 Dojo 对话框。
【问题讨论】:
-
执行 JQuery 对话框确认并使用 Ajax
post调用控制器连接点 -
谢谢,但我不太确定该怎么做。我的控制器操作还创建了一个使用 viewscript 装饰器模式显示的 zend 表单。上面的代码在用户单击表单提交按钮时执行。我应该不使用提交按钮,而是使用调用对话框事件的普通按钮,如果是,我该如何调用控制器操作并提交表单数据?
标签: zend-framework dialog confirmation