Я хочу реализовать 2 разные формы на странице для 2 разных действий в одном контроллере.Я пытаюсь создать вторую форму, где пользователь может установить флажок для каждой строки таблицы.При отправке формы я хочу выполнить некоторый код в действии add
контроллера.
Это мой AddElement\index.ctp
:
<div class="row"> //First form is working fine
<?php echo $this->Form->create('AddElement', array('action' => 'index')); ?>
<?php echo $this->Form->control('element_categories', ['options' => $elementCategories, 'empty' => true]); ?>
<?php echo $this->Form->button(__('Filter'), ['class'=>'btn-success']); ?>
<?php echo $this->Form->end(); ?>
</div>
<h3><?= __('Task Elements') ?></h3>//2nd form not working as expected
<?php echo $this->Form->create('AddElement', array('action' => 'add')); ?>
<?php foreach ($taskElements as $taskElement): ?>
<table cellpadding="0" cellspacing="0">
<thead>
<tr>
<th scope="col"><?= $this->Paginator->sort('id') ?></th>
<th scope="col"><?= $this->Paginator->sort('name') ?></th>
<th scope="col"><?= $this->Paginator->sort('element_category_id') ?></th>
<th scope="col">Select</th>
</tr>
</thead>
<tbody>
<tr>
<td><?= $this->Number->format($taskElement->id) ?></td>
<td><?= h($taskElement->name) ?></td>
<td><?= $taskElement->element_category_id != 0 ? $this->Html->link($taskElement->element_category->name, ['controller' => 'ElementCategories', 'action' => 'view', $taskElement->element_category->id]) : '' ?></td>
<td><?= $this->Form->control('selected', ['type' => 'checkbox']);?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table><?php
echo $this->Form->button('Add');
echo $this->Form->end();?>
И это add
действие AddElementController.php
:
public function add($tasktypeid)
{
$this->autoRender = false; //no need for view
debug($this->request->data());
if($this->request->is('post'))
{
debug($this->request->data());
}
}
Но когда я нажимаю «Отправить», это ничего не делает.Он просто загружается на секунду, но не выполняет код в контроллере.