Ситуации
Я работаю на большой форме, которая была разделена на несколько вкладок, как для группы полого вида и сделать заполнение легче. Вкладки активируются с использованием JavaScript (jQuery), и форма представляется целиком (все вкладки сразу, даже если есть пустые поля).CakePHP не выполняет автоматическое заполнение поля (которое не имеет модели) после подачи
Я пытаюсь отправить поле hidden
вместе с формой, чтобы сохранить текущую вкладку пользователя. Таким образом, когда форма отправляется, данные сохраняются, и пользователь возвращается на ту же самую вкладку, что и раньше. Это поле не привязано к какой-либо модели, так как это только помощник.
Проблемы + то, что есть я попытался
Поля правильно заселенно jquery как вкладки переключателя пользователя, и он будет представлен вместе с формой. Это то, что я сделал:
<?php
echo $this->Form->create('Briefing', array('enctype' => 'multipart/form-data'));
// This is my aux field, which is populated via jQuery as user switch tabs
echo $this->Form->hidden('tab-active', array('name' => 'tab-active', 'id' => 'tab-active'));
echo $this->Form->input('title');
echo $this->Form->submit('Save', array('class' => 'btn btn-success'));
echo $this->Form->end();
?>
Давайте предположим, что пользователь представил форму, когда он был в «Tab # 4». Когда я debug($this->data);
в моем BriefingsController
, это то, что я получаю:
/app/Controller/BriefingsController.php (line 133)
array(
'tab-active' => 'tab-4',
'Briefing' => array(
'title' => 'My test title'
)
)
Так что мой контроллер получает данные формы для обоих tab-active
и Briefing.title
полей, но при загрузке формы после подачи, только поле Модель заполняется представленные данные и tab-active
поставляется с пустым значением. CakePHP не автоматически заполняет значение для моего немодельного поля.
Любые мысли об этом? Является ли это поведением CakePHP по умолчанию или есть что-то, что я мог бы сделать, чтобы он работал (автозаполнение)? У меня нет проблем с jQuery (уже проверено его несколькими способами), Реальная проблема заключается в получении этого поля, заполненного после отправки формы. Буду признателен за любую оказанную помощь.
На самом деле я, что разобрался .. То, что я хочу знать, если есть способ получить поле автоматически населена будь то модель. Может быть, нет никакого способа сделать это, и мне придется вернуться к тому, что вы предложили, включая его в модель, даже если это поле, которое не существует. – mathielo
Я не знаю, как объявить ввод без модели в CakePHP, но если вы хотите сортировать свои данные, вы можете хотя бы ввести что-то вроде «Settings.tab-active», поместив активное значение tab в значение ' Настройки ", а не в" Брифинге "внутри $ this-> data – Chris
Я не думал об этом. Я думаю, что это может быть хорошим решением, я попробую. – mathielo