1

我的会话卡有一个表格,我想配置删除链接。我认为我可以在每行末尾使用获取请求来做到这一点。但是,在 cakephp 2 中,它“建议”最好使用发布请求。

没关系 :

<?php
    echo $this->Form->postLink(
                    '<button class="btn btn-danger">
                         <i class="icon-trash icon-white"></i>
                     </button>',
                    array(
                          'action'   => 'deleteBasket', $plaque['id']
                          ),
                    array(
                          'class'    => 'tip',
                          'escape'   => false, 
                          'confirm'  => 'Are you sure ?'
                         ));
?>

除了当我使用这段代码时,它会在我的表单中生成一个表单,所以当我提交时它搞砸了。我不能把这个放在我的行之外。有任何想法吗 ?

4

3 回答 3

1

从 CakePHP 2.5 开始,您可以在表单元素中使用 postLink。您必须将选项设置inline为 false:

echo $this->Form->postLink('delete', array(
    'controller' => 'somewhere',
    'action' => 'delete',
    $deletedID
), array(
   'inline' => 'false'
));

...然后最好在布局视图的底部获取“postLink”块(实际的 html 表单标签所在的位置),如下所示

echo $this->fetch('postLink');

此解决方案需要启用 javascript!

引用文档:

inline- 关联的表单标签是否应该内联输出。设置为 false 以将表单标记附加到“postLink”视图块。默认为真。

block- 选择一个自定义块来附加表单标签。使用此选项将覆盖 inline 选项。

(是的,这是个老话题,但因为我发现这个研究同样的问题,如果有更新的答案会很好......)

于 2015-12-27T14:29:42.363 回答
0

尝试以下操作:

<?php echo $this->Form->create('Controller Name', array('url' => `array('controller' => 'Controller Name', 'action' => 'deleteBasket', $plaque['id']))); ?>`
<?php echo $this->Form->submit(arrray('class' => 'btn btn-danger', 'value' => '<i class="icon-trash icon-white"></i>', 'escape' => false, 'onclick' => 'confirm('Are you sure you want to continue')')); ?>
于 2015-08-22T20:10:21.680 回答
-2

阅读文档,http://api20.cakephp.org/class/form-helper#method-FormHelperpostLink

This method creates a <form> element. So do not use this method inside an existing form. Instead you should add a submit button using FormHelper::submit()
于 2012-07-27T09:52:29.410 回答