0

我想要一个表单,其中我有一个额外的复选框(不会将输入存储到 db),它将在控制器中读出。

例如。在作业编辑视图中,我可以选择一个用户。在此用户下方是一个复选框。此复选框将在我将作业分配给用户后发送一封电子邮件。

在我的控制器中我写

$post_array = $this->request->data;
if ($post_array['Job']['mailcheck'] == NULL) {
    // DO SOMETHING
} else {
    // DO SOMETHING
}

但它不会读出复选框值...

任何想法如何解决这个问题?

谢谢帮助

4

2 回答 2

1

虽然马克的答案是正确的,但请允许我详细说明。

请记住,复选框有时会表现得很奇怪。未选中的复选框可能根本不会发布,这可能就是您的条件失败的原因。

关于为什么你不能让它工作:

无论哪种情况,您似乎都在执行重定向,这就是为什么您永远看不到编辑表单的原因。检查您是否遗漏了什么,或者试试这个:

if ($this->request->is('post')) {
    if (!empty($this->request->data['Job']['mailcheck'])) {
        $this->redirect(array('action' => 'sendMails',$id));
    } else {
        $this->redirect(array('action' => 'sorted'));
    }
}
于 2013-04-23T00:22:37.680 回答
0

这足以:

if (!empty($this->request->data['Job']['mailcheck'])) {
    // yes, checkbox was selected
} else {
    // no, it was not selected
}
于 2013-04-22T15:19:36.320 回答