Cakephp 3.6.14:为每行创建并提交带有表格和复选框的表单(第二个表单-同一页)

时间:2019-01-21 11:08:16

标签: php forms cakephp checkbox cakephp-3.x

我想在同一控制器中的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的{​​{1}}动作:

AddElementController.php

但是当我单击“提交”时,它什么也没做。它只是加载了一秒钟,但是它不执行控制器中的代码。

0 个答案:

没有答案