并非所有POST数据都由Cake接收/处理

时间:2013-02-27 19:00:48

标签: cakephp cakephp-2.1

我有一个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处理的 - 我在Controller中尝试了var_dump($this->request->data)但是它们丢失了......由于某种原因,Cake只是忽略了这些数据......


我使用jquery生成输入dynamicalyy但是输入正确地添加到表单中 - 我可以在我的浏览器中看到它们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添加“inline”,第二个是使用jquery动态添加的。 POST后只有第一个可见。

1 个答案:

答案 0 :(得分:3)

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

根据W3Schools.com:

  

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