2012-06-21 39 views
1

我有一張用於會話卡的表單,我想配置刪除鏈接。 我認爲我可以在每行末尾都有一個獲取請求。 但是,在cakephp 2中,它「建議」它更好地使用post請求。刪除表格中的按鈕/鏈接

沒關係:

<?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 ?' 
         )); 
?> 

除,當我使用此代碼,它生成我的表單內的表單,所以當我提出它搞砸了。我不能把這件事放在我的行列之外。 有什麼建議嗎?

回答

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')')); ?> 
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!

Quoting the docs:

inline - 相關的表單標籤是否應被輸出的內聯。設置爲false以將表單標籤附加到「postLink」視圖塊。默認爲true。

block - 選擇一個自定義塊以將表單標籤附加到。使用此選項將覆蓋內聯選項。

(是的,這是個老話題,但是因爲我發現這個研究同樣的問題,所以最好有更新的答案......)