2013-02-27 2 views
0

У меня есть PresentationsController, который обрабатывает некоторую форму действия POST. В этой форме у меня есть данные, относящиеся к Презентации, такие как:не все данные POST получены/обработаны торт

<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"> 

Но эти данные не обрабатываются Cake - я попытался 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 viewer - первый вход добавляется «inline» из php, а второй добавляется динамически с помощью jquery. И только первый вид видится после POST.

+0

Любая конкретная причина, по которой вы не используете FormHelper? – Oldskool

+0

Ну, я использую хелпер формы. Но для «шаблона» - я копирую его с помощью jquery, чтобы добавить много динамических входов в мою форму - я просто изменяю индекс [n] во вводе имени. Входы добавляются в форму правильно, так как я вижу их в дереве элементов моего браузера (Chrome) html. Но те, которые добавлены динамически, не отправляются ... – user606521

+0

Предполагая, что вы используете какой-то цикл for, чтобы установить их, вы все равно можете использовать помощники формы. Назовите их как «Тема». $ I. '. Subject. По сути, это вернет массивы [Subject] [$ i] [subject], которые могут быть автоматически сохранены. – iexiak

ответ

3

Когда вы устанавливаете ввод на disabled="disabled", он НЕ отправляется. Это касается обычного HTML и не является специфическим для CakePHP.

По w3schools.com:

элементы для инвалидов в форме не будет представлен.

+0

Yeass, thats it thanks - есть ли какой-либо другой способ показать вход, который не является нужным для пользователя, но отправлен в форме? – user606521

+1

readonly: http://www.w3schools.com/tags/att_input_readonly.asp – Dave

 Смежные вопросы

  • Нет связанных вопросов^_^