foreach中的多个表单

时间:2013-08-13 15:12:57

标签: php forms cakephp

我有foreach显示许多表单,其中相同的操作以diferente id结尾。 但是,标记<form>只是以第一种形式出现。显示所有其他字段,但不显示<form> 我试图将id表单放在循环中不同的表单中。但是不起作用。

代码:

    <?php echo $this->Form->create(null, array(
                'url' => array('controller' => 'menus', 'action' => 'aprovar', $procuracao['Attorney']['id']), 'id' => $procuracao['Attorney']['id']
                )); ?>
                <div class="control-group">
                <label class="control-label">Alçada:</label>
                <div class="controls">
                <?php echo $this->Form->input ('alcada', array('type' => 'select', 'label' => FALSE, 'options' => array(
                                                                                 'Até 10.000' =>  'Até 10.000',
                                                                                 'Até 50.000' => 'Até 50.000',
                                                                                 'Acima de 100.000' => 'Acima de 100.000',
                                                                                 'Acima de  500.000' => 'Até 500.000',),

                                                                                 'empty' => 'Selecione')); ?>
                </div>
                </div>

                <div class="control-group">
                <label class="control-label">Validade:</label>
                <div class="controls">
                <?php echo $this->Form->input('validade', array('label' => FALSE, 'type' => 'text')); ?>
                </div>
                </div>
                <?php echo $this->Form->submit('Ok', array('class' =>'btn btn-success pull-left', 'div' => false)); ?>
                </div>

字段“Alçada”和“Validade”正确显示。但标签<form>只出现在第一个元素中。

1 个答案:

答案 0 :(得分:0)

你没有结束表格。

echo $this->Form->create(null, array(
            'id' => 'your-form-'.$i, //that $i is the index of the foreach, for example
            'url' => array('controller' => 'menus', 'action' => 'aprovar', $procuracao['Attorney']['id']), 'id' => $procuracao['Attorney']['id']
            ));
//all inputs and other stuff
echo $this->Form->end(array('label'=>'Ok', 'class' =>'btn btn-success pull-left', 'div' => false));

您正在使用的foreach内的所有内容。

Here是文档中该函数的引用。但基本上,它就是这样做的

  

关闭HTML表单,清除FormHelper :: create()设置的值,以及   在适当的地方写入隐藏的输入字段