CakePHP代码
<?php echo $this->Form->create('KPI');?>
HTML输出
<form accept-charset="utf-8" method="post" id="..." action="...">
<div style="display:none;">
<input type="hidden" value="POST" name="_method">
</div>
我想删除在html输出中显示的自动生成的div。如何删除由cakephp表单生成的div创建?
答案 0 :(得分:1)
正如评论中已经提到的那样,你不应该删除那个标记,除此之外只能通过完全覆盖FormHelper::create()
来实现,参见
另请注意,表单末尾可能还有一个隐藏块,请参阅FormHelper::secure()
。
删除包装器的唯一更简单的方法是完全删除隐藏的包装器,例如可以使用HtmlHelper
hiddenblock
来div
标签修改,以便它不包含包装器,但这不是一个好主意 - 不要这样做!
这里的问题是,你不能只删除这个特定的包裹input
元素,隐藏的div
和input
齐头并进。 POST
确保CakePHP能够确定正确的请求方法(PUT
,DELETE
,div
)。
因此,只需简单地使您的jQuery选择器更具体,不要只选择class
元素,而是确保您的元素具有正确的类集,然后按{{1}}选择它们。
答案 1 :(得分:0)
<?php echo $this->Form->create('Kpi', array(
'inputDefaults'=>array('div'=>'false', 'label'=>false)));
?>