0

我有一个PresentationsController处理一些 POST 操作表单。在这种形式中,我有与 Presentation 相关的数据,例如:

<input name="data[Presentation][title]" class="init-focus span4" type="text" id="PresentationTitle" required="required">

并且这些字段由控制器正确处理。但是PresentationModel有很多Subject。所以我想在表格中包含一些演示主题。我是这样做的:

<input name="data[Subject][0][subject]" disabled="disabled" class="subject" maxlength="255" type="text" id="Subject0Subject" required="required">
<input name="data[Subject][1][subject]" disabled="disabled" class="subject" maxlength="255" type="text" id="Subject0Subject" required="required">

但是这些数据不是由 Cake 处理的——我var_dump($this->request->data)在 Controller 中尝试过,但它们丢失了……出于某种原因,Cake 只是忽略了这些数据……


我正在使用 jquery 动态生成输入,但它的输入被正确添加到表单中 - 我可以在我的浏览器 html 元素查看器中看到它们:

<input name="data[Subject][0][subject]" maxlength="255" type="text" id="Subject0Subject" required="required">
<input name="data[Subject][1][subject]" disabled="disabled" class="subject" maxlength="255" type="text" id="Subject0Subject" required="required">

以上是我在html元素查看器中查看的内容-第一个输入是从php“内联”添加的,第二个输入是使用jquery动态添加的。POST 后只有第一个可见。

4

1 回答 1

3

当您设置输入时,disabled="disabled"它不会被提交。这适用于普通的 HTML,并不是 CakePHP 特有的。

根据 W3Schools.com:

表单中的禁用元素将不会被提交。

于 2013-02-27T19:14:39.457 回答