2012-06-21 4 views
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 ?' 
         )); 
?> 

, 그것은 내 양식 내부의 양식을 생성 그래서 그것이 망쳐 것 제출할 때. 이걸 내 바깥에 놓을 수는 없어. 아이디어가 있으십니까? 워드 프로세서 읽기

답변

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를 사용할 수 있습니다.

를 다음과 같이 레이아웃보기 하단에 바람직하게 (실제 HTML 양식 태그입니다)가 'POSTLINK'블록을 가져 오기 다음

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

... 그리고 : 당신은 옵션 inline false로 설정해야

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

이 솔루션을 사용하려면 javascript가 필요합니다!

Quoting the docs:

inline - 관련 폼 태그 출력 인라인해야하는지 여부. false로 설정하면 양식 태그가 'postLink'보기 블록에 추가됩니다. 기본값은 true입니다.

block - 양식 태그를 추가 할 사용자 지정 블록을 선택하십시오. 이 옵션을 사용하면 인라인 옵션이 무시됩니다.

(예, 오래된 주제이지만이 문제를 연구 한 결과로 대답이 업데이트되었습니다 ...)