2012-08-29 101 views
1

我有这个在我看来CakePHP表单输入 - 防止默认?

<?=$this->Form->create('Company')?> 
    <?=$this->Form->input('Company.company_category_id')?> 
    <?=$this->Form->input('Company.county')?> 
    <?=$this->Form->input('Company.name')?> 
    // Here i intend to insert all model fields in order to export them 
    <?=$this->Form->input('ExportField.company_category_id', array('label' => 'Categorie', 'type' => 'checkbox', 'options' => null))?> 
    // ... 
<?=$this->Form->end('Submit')?> 

我的问题是,助手是“自动地”认为ExportField。{}场为形式的主力机型领域(公司在这种情况下)。

我可以使用解决方法来解决这个问题,但我想知道如果我可以强制它维持这种方法。

谢谢!

+0

你是什么意思的'形式的主要模型领域'? –

+0

作为第一个参数传递给create方法的那个。 – Michael

+0

这应该可以正常工作。发布它生成的HTML代码? – Dave

回答

0

您在声明型号:

<?=$this->Form->create('Company')?> 

蛋糕医生说,All parameters are optional。试着用:

<?=$this->Form->create()?> 
+0

您应该可以传递模型,然后指定不同模型的字段而不会出现问题。 – Dave

0

您可以使用以下方法:

<?php echo $this->Form->create(null, array('controller' => 'controller_name', 'action' => 'action_name')?> 
<?php echo $this->Form->input('Company.company_category_id')?> 
<?php echo $this->Form->input('Company.county')?> 
<?php echo $this->Form->input('Company.name')?> 
// Here i intend to insert all model fields in order to export them 
<?php echo $this->Form->input('ExportField.company_category_id', array('label' => 'Category', 'type' => 'checkbox'))?> 
// ... 
<?php echo $this->Form->end('Submit')?> 

如果你想在$this->Form->create()方法使用ModelName为null作为第一个参数,那么你就可以轻松实现你所需要的一样。

+0

谢谢你的回答,但我已经测试过了,它的行为方式也一样。 – Michael