2013-02-27 72 views
0

我有一個PresentationsController它處理一些POST操作表單。在這種形式I具有諸如與演示數據:並非所有POST數據都由Cake收到/處理

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

和這些字段由控制器正確處理。但是PresentationModel hasMany 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"> 

但是,這些數據不被處理的蛋糕 - 我在控制器試圖var_dump($this->request->data)但他們缺少...由於某種原因,蛋糕會忽略這些數據...


我生成輸入dynamicalyy與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後只有第一個可見。

+0

爲什麼你不使用FormHelper的任何特定原因? – Oldskool 2013-02-27 19:13:06

+0

那麼我使用窗體幫助器。但是對於一個「模板」 - 我用jquery複製它以在我的表單中添加許多動態輸入 - 我只是在輸入名稱中更改[n]索引。輸入被正確添加到表單中,因爲我可以在瀏覽器(Chrome)html元素樹中看到它們。但那些增加dynamicaly不發送... – user606521 2013-02-27 19:17:13

+0

假設您使用某種for循環來設置這些,你仍然可以使用窗體幫助器。將它們命名爲'Subject。'。$ i。'subject'基本上,這將返回可以自動保存的[Subject] [$ i] [subject]的數組。 – iexiak 2013-02-27 19:22:32

回答

3

當您將輸入設置爲disabled="disabled"時,它不會被提交。這適用於普通的HTML,並不是CakePHP特有的。

根據W3Schools.com:

在表單中禁用的元素不會被提交。

+0

Yeass,多數民衆贊成在此謝謝 - 是否有任何其他選項顯示輸入是不可編輯的用戶,但張貼在窗體? – user606521 2013-02-27 19:24:44

+1

只讀:http://www.w3schools.com/tags/att_input_readonly.asp – Dave 2013-02-27 19:28:59

相關問題